[考试反思]0520省选模拟101:目的
没得说。怎么这么菜啊。 $T1$的$60$分白送的基本都不用想。 (诶那我这场考试干啥了? $T2$看着像个$min25$筛的板子。就是数据范围大了点 然而因为几乎没怎么遇到过$min25$的题,只写过一次而且还是三个月前了。 所以基本上是忘的一干二净考场上一点一点尝试想的。 结果写的混天黑地终于写完,过掉样例,就交了。 十分快乐的是:少取了个模。直接爆零。然后这场就没了。 就当是练习不熟练的知识点了(自己都不信。。。 我到现在都不知道我这么做的目的是什么。但愿不要再考场弱智了(事实上明天还是这样 T1:石子游戏 大意:$nim$。问去掉最少几堆石子后可以先手必胜。$n \le 5 \times 10^5,A \le 5 \times 10^5$ 要求出最少用多少个堆能得到和所有石子堆一样的异或值。 删掉的石子堆数是$logA$级别。否则线性基可以表出就可以去掉了。 所以暴力做$dp$是$O(n^2)$的。每一轮用$xorFWT$优化可以做到$O(nlog^2n)$。用$FWT$本质求单点点值可以做到$O(nlogn)$ 1 #include<cstdio> 2 #define S 1<<19 3 int a[S],n,t[S],T,ans; 4 void FWT( int *a){ for ( int i= 1 ;i<S;i<<= 1 ) for ( int j= 0 ;j<S