最近做过一些比较好的题

记下来,以后可能写个题解啥的

CF1163E

线性基插满前(x)个数说明一定有解,构造可以用原集合在线性基上的异或得到(2^x-1)个数,前缀异或后就是构造的排列。

洛谷 P4869 albus就是要第一个出场

q在线性基中的排名很好算,那么考虑重复的数量,对于每个数x,设线性基有(cnt)个元素,那么其可以被异或出来的方案数一定是(2^{n-cnt}),证明考虑对当前异或和加入线性基外的元素,和在线性基内的元素讨论,可以通过消掉保证不重复选。

洛谷 P3235 [HNOI2014]江南乐

暴力算sg函数,用类似整除分块的方法优化枚举,去除多枚举的重复状态。

CF1100F Ivan and Burgers

嫌麻烦可以直接写点分治,但还是有更优秀的方法。

先离线下来,按(r)排序,每次加入(a[r])后顺便维护出线性基中每个位置最靠右的可以更新为(1)的位置,这样就可以直接对询问计算答案。

完全可以在线,就是空间大点。

洛谷 P3214 [HNOI2011]卡农

计数dp,直接计算所有都是偶数的情况减去有重复的情况和空集,最后除以(m!)表示组合。

洛谷 P6144 [USACO20FEB]Help Yourself P

先斯特林数展开,然后区间按(l)排序,分情况用线段树维护贡献。(感觉斯特林数会成为联赛套路?)

原文地址:https://www.cnblogs.com/sdlang/p/13683743.html