菜,摸完四个签到题就凉了。
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需要从低位处理
因为考虑竖式减法,从低位开始减,就算算上借位,也最多再隔一位就能得出这一位的答案
而显然不能从高位开始减,因为到低位开始借位的话,不知道借过来是多少。