KDOI-06-S 模拟题解

发布时间 2023-10-20 19:57:43作者: adolf_stalin

P9744 「KDOI-06-S」消除序列

发现这是一道贪心题,第一种操作只会使用一次,也就是在最开始的时候进行清零操作,从而使得整个前缀都变成0。考虑两种情况,一种是前缀全部为1,另一种为0,分别考虑转移即可。代码

P9745 「KDOI-06-S」树上异或

这道题对异或的做法有了很深刻的理解。其实大部分异或做法感觉都是需要按位来拆的,而这道题需要按位来DP。首先考虑树上连通块问题用树形DP来解决。考虑树形DP的本质。由于对于任何一个点 \(i\) ,他所在的联通块是多少并不重要,而这个节点所产生的贡献产生的0/1才会影响答案。不妨设一个数组记录这个节点所处的联通块,一个数组记录以这个节点为根的答案(乘积和)。注意在计算完连通块内的乘积和之后,更新贡献时需要将每一位的答案都统计一下,表示对每一位都进行异或从而产生的贡献。代码