题解:
题目相对其他省难一点
1.[HAOI2018]奇怪的背包
这题考场做就gg了。。。
其实我想到了那个性质。。 就是这个一定要是gcd的倍数
但是我傻逼的觉得这个不对。。 因为xi都要>=0
然后就看题解。。
仔细想了一下 这可是模意义下啊??
你要是负数你一直加p答案不是不变的么。。。
然后有了这个性质我们考虑dp
2.[HAOI2018]反色游戏
这个感觉思路其实不难 但好像并没有往这上面想
第一感觉就是这个可以化成xor然后线性基高斯消元
最后线性基中为0的点就可以任取 答案为2^k 注意还要判断合不合法 不合法直接为0
然后发现就算没有多次询问就一组也过不了???
然后我就觉得应该是有个黑科技我没学过。。。。
先说一下部分分。。
50分暴力高斯消元就可以了 ($n^4$)
60分需要bitset优化($n^4/32$)
70分我不知道是什么东西。。。 我会线段树分治做到($n^3logn/32$) 但这个常数明显大而且肯定过不了70啊。。
然后考虑一下正解
发现这题要用线性基其实是假的
一条边只能连两个节点啊。。。
所以我们考虑合并
如果合并之前两点已经有关系说明这条边就任意了
于是简化一下要求的就是2^(n-m-联通块个数)
另外怎么判断合不合法的充要条件是 如果黑点数为奇数就不合法
来简单证明一下
必要性:改变的颜色数是边数*2的 黑点为奇数显然不行
充分性:如果改变了偶数个,每次我们就任取两个扩展一条他们之前的连边 如果重复就把边取反就可以了
于是我们要支持删一个点求联通块个数和有无奇数个黑点
分类讨论了