2016 Multi-University Training Contest 1 总结
算是组队后第一次打比赛吧。
09题开始就有人过了,看到题目,这不是轮廓线DP的裸题么?!!,一发WA告终,然后发现题目是有改动的。还是太心急了。
然后我读了第一题,是最小生成树求期望距离,我把题意说了一下,磊哥就开始写,在调编译器上出了点问题,卡了一会儿,提交也不是特别顺利,迷之错误WA了三发。但是也算是过了。
看见04题求区间GCD,想起去年多校貌似有题类似的,于是马上想到DP方法,预处理了一下区间GCD,用map存了一下,交了一发,结果顺利一A。
欣君说02题裸博弈,能做,于是开始敲,很快敲完,开心一交,一个TLE砸脸上,改改又是一个TLE,于是预处理了SG,变成WA了,然后发现……欣君的位运算符号方向写反了,方向写反了_(:зゝ∠)_ 改完后过了。
这个时候三题排名18名。
11的题意很简单,就是求四面体的内切圆坐标和半径,看到一些人过了,于是我们开始算,由于没人有三维的计算几何板子,所以就僵在了那里。讨论了一个小时,得出了一个方法,欣君决定开始手写,样例调了两个小时没出,比赛终结,18->78。
最后的问题还是开题不够多,死磕在11题的几何上了,赛后发现有题二分图还是挺简单的但是没有太多人写,于是没有看。总体来说,计算几何这一块还是太差了,需要补上来。
赛后自己恶补了FFT,感谢Claris的指导,总算彻底搞懂卷积。
发现11题一个公式能出结果,其实是有点懊恼的,但是显然在赛场上,我们也是不可能获得这样子的一个公式,因此,还是提升计算几何的能力较为重要。
趁着补06题,又回忆了一下欧拉函数,了解了几个新的比较有趣的性质。想了好久才想明白别人博客上公式的推导过程,但是感觉受益颇丰。此外贴上nicetomeetu发给我的欧拉函数相关数学公式,mark一下。
欧拉函数: 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。 例如euler(8)=4,因为1,3,5,7均和8互质。 通式: 对于一个正整数N的素数幂分解 N = (P1^q1) * (P2^q2) * ...* (Pn^qn). φ(1) = 1. φ(N) = N * (1-1/P1) * (1-1/P2) *...* (1-1/Pn). 定理: 1.欧拉函数是非完全积性函数: φ(m*n) = φ(n)*φ(m) , 当且仅当GCD(n,m) = 1. 2.一个数的所有质因子之和是 euler(n)*n/2. 3.若n是素数p的k次幂,φ(n)=p^k-p^(k-1)=(p-1)p^(k-1), 因为除了p的倍数外,其他数都跟n互质. 特殊性质: 1.当n为奇数时,φ(2n) = φ(n). 2.对于质数p,φ(p) = p - 1 3.除了N=2,φ(N)都是偶数. 指数循环节: A^x = A^(x % φ(C) + φ(C)) (mod C) (x >= φ(C)) 定理1 应用: ∑(i=1,m)φ(i*n)=φ(pi)*∑(i=1,m)ϕ(i*n/pi)+∑(i=1,m/pi)ϕ(i*n); (n无平方因子数)
03题一开始用自己的想法补,结果出现纰漏,欣君残忍地找了个样例击碎了我的幻想,求助Q巨,按照其说法写了一下,调试了两天WA,最后弃疗,Qrz。
这次多校由于有两题51nod的原题,受到了比较多的吐槽,然而对于我来说,还是有比较大的收获的。
希望接下来的集训都可以正能量满满地进行下去吧。