菜,摸完四个签到题就凉了。

Min_25筛都忘了。。。。

1005 Lunch

博弈论,典型公平组合游戏

先后手选择相同,轮流走,不能操作的输

[学习笔记]博弈论

关键要设置“局面”

自然地想到每个l(巧克力)作为一个局面,后继操作使局面可以“分裂”,”分裂“后各个局面取xor和得sg,所有局面sg求mex即可

$SG(Prime)=1;$

$SG(2^n)=1;$因为分成偶数份xor一定是0;

$SG(2^n×Prime)=mex{0,SG(2^n)}=1$数学归纳即可得$SG(2^n×Prime^k)=k+1$

再扩展可得$SG(2^n×P1^k1×P2^k2...)=1+k1+k2+...$

故要质因数分解。

根号n,或者Pollard_Rho

1002 Graph Theory Class

题意:给你 n,规定 (i,j)边的权值是 lcm(i+1,j+1),求最小生成树。 $n<=10^10$,50组数据。

不太一样的处理思路,不是prim也不是kruskal

考虑贪心,

如果每个点都连接上一条最小权值的边,还能构成生成树,那么这一定就是最小生成树

对于合数a,直接连到某个质因子(或者约数),花费a

对于质数p,最优只能连接到2,花费2*p

这样,2连接所有质数,合数连接质数,一定没有环,且图连通

求1~n质数和,要用Min_25筛

 

T12 Xor

https://www.luogu.com.cn/blog/ywycasm/ccpc2020-wang-lao-sai-sai-hou-zong-jie

ywy这个题处理方法值得参考

数位dp需要从低位处理

因为考虑竖式减法,从低位开始减,就算算上借位,也最多再隔一位就能得出这一位的答案

而显然不能从高位开始减,因为到低位开始借位的话,不知道借过来是多少。