11.11 NOIP模拟赛
T1
字符串,两个相同的串一个从前往后,一个从后往前,选完后正着看都一样的话,就能拼成一个回文串,考虑两倍字符串,用 kmp 找到 n~2n 中间的一个 i ,如果 i-n+1 到 i 和 1 到 n组成的字符相同的话,答案就为 (m-1)*n+(2n-i)。m=1 时直接输出 nxt[n] 。
T2
找规律,能 \(O(1)\) 求出任意位置的价值的话有 \(40pts\) ,然后去想 n=1 的情况,发现可以考虑算每一个环对答案的贡献,算出来一个式子,但里面有一串平方的和,不会算。
赛后,听完知道这是二级等差数列。
T3
想每切一条边,只能把一个连通块分成两个,所以再加一个关键点,前面切的边还要切,只用多切一条与这个点在同一个连通块内的点和这个点之间的最小的一条边,复杂度 \(O(n^2)\) ,但是 RE 了。
赛后,正解是边权从大到小排,建Kruskal重构树,一个边连接的两个连通块都有关键点的话就删去。
T4
数据结构,nan。