賽時
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 不會出這種題目。