[2024.11.11]NOIP模擬賽T2

Redamancy_Lydic發表於2024-11-11

賽時

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