赛时
T1 提议看懂以后立马意识到就是让求最长Border。
对于 \(n\times m\le 10^6\) 可以暴力建串然后直接 KMP。
容易发现如果 \(s\) 循环元为 \(n\),那么答案就是 \(n\times (m-1)\)。
否则加上最长循环元长度即可。
循环元还是用 KMP 求。
T2 让我想起了之前一道硬控我 3h 的题目。
先把 \(n\le 500\) 写了,然后开始推 \(k=1\),发现是一个二阶等差数列求和,答案是一个三次多项式。
于是我开始在纸上画,发现需要根据 \(n\) 的奇偶性分类讨论。
结合前天 ABC-E 的贡献求法,累加答案,然后根据 \(\sum_{i=1}^{n}i^2=\frac{n(n-1)(2n-1)}{6}\) 这个式子硬推+化简可以发现这种情况下 \(n\) 为偶数时的答案是 \(\frac{2}{3}n^3-\frac{1}{2}n^2+\frac{1}{3}n\)。
其实一开始认为奇数的答案是一样的,但是样例过不去,然后发现此时贡献的分段界点会有变化,所以差别会很大。
然后我引入一个变量 \(x=\lfloor n/2\rfloor\) 代表分界点,按照刚才的方法继续推,加上分界点新产生的贡献,终于发现这个答案是 \(2nx^2-\frac{4}{3}x(x-1)(2x-1)+2x(2n-3x+1)+1\)。(想吐)
这个思路特别有前途,因为 \(k\neq1\) 时除了初始项的值中间的二次差值是不变的。
先想 \(op=1\) 的部分,结合差值的增量发现此时的分界点是 \(n-k+1\over 2\)。
有了这个,我再引入一个变量 \(x=\frac{n-k+1}{2}\),就可以按照刚才的思路继续推了。依然需要根据奇偶性分类考虑,然后我发现偶数的答案是 \(2nx(2x-1)-\frac{4}{3}x(x-1)(2x-1)-2x(x-1)\)。
本来想继续推奇数的,但是看着已经 11:00 了,就打算先把这些写了。
然后写着写着发现特别难调,然后我就调到了 11:50。
嗯,这下这个蛇型矩阵就一共硬控我 3+3=6h 了。
此时我 T2 的期望是 40pts。
赛后
发现 T2 我每次都输出了 \(ans\) 导致爆单,成功拿下机房倒数。
看见有人前三题都过了,瞬间意识到自己是个废物。
没办法,继续推 T2。
又推了 10min 得出 \(n\) 为奇数的答案是 \(2nx(2x+1)-\frac{4}{3}x(x-1)(2x-1)-6x^2+2x+k\)。
调了 20min 后成功获得 70pts。
开始讲题了,大概懂了 T3T4 的思路。
继续写 T2。
现在剩下 \(op=2\),发现分界点 \(x\) 依然是 \(n-k+1\over 2\)。
因为彼此之间是旋转 180° 的关系,我觉得两种情况是类似的。
然后推着推着我发现差别大的远超出预期。
但好在基本思路不变,然后我发现 \(n\) 为 偶数的答案是 \(2x(x-1)(2n-3)-\frac{4}{3}x(x-1)(2x-1)+6nx-4x\)。
最后一种情况了,冲!
好在不难,又推了一会发现答案是 \(2x(x-1)(2n-3)-\frac{4}{3}x(x-1)(2x-1)+6nx-4x-k-2+4n(x+1)-4x(x+2)\)。
虽然但是,用心的你能发现当这种东西出现 \(\%=998244353\) 时,想出来和码出来和过掉之间的距离就不是一般的大了。
然后我又被硬控了 1h。
终于过掉了。
发现自己用时最短。
我尝试删掉暴力那一档分段,然后发现自己用时是标程的 \(0.39\) 倍,空间是标程的 \(0.74\) 倍。
嗯……虽然但是 T3T4 连暴力都没写,大考中这样的话就真的废了。
但是好在我认为 NOIP 不会出这种题目。
标签:11,发现,2024.11,frac,T2,2x,然后,答案 From: https://www.cnblogs.com/Lydic/p/18540036