菜,摸完四個簽到題就涼了。
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需要從低位處理
因為考慮豎式減法,從低位開始減,就算算上借位,也最多再隔一位就能得出這一位的答案
而顯然不能從高位開始減,因為到低位開始借位的話,不知道借過來是多少。