1. 程式人生 > 其它 >7.15 ZROI-DAY2 模擬賽

7.15 ZROI-DAY2 模擬賽

7.15 ZROI-DAY2 模擬賽

比賽歷程

早上起的比較晚,於是拿了兩個蛋撻隨手塞了一個蛋糕就進去了。

開題之後感覺有些難。實際上每次模擬賽遇到難題,如果不是休息非常充足,思考的過程中就會犯困,見簡單的來說放棄了思考。

然後我就困了,想著延續上一場的策略,想了好久的T1,想了點假做法,實現時發現其實根本不會,感覺有點完蛋,T2看上去是字串,還子串子串的,肯定是SAM!然後我就敲了個SAM板子上去,然後我就呆滯了,想暴力也想不到,菜。下邊去看T3,發現題目非常的繞,由於被前兩道題搞得神志不清,所以有些牴觸。這個時候是兩個多小時,旁邊ztw已經過了小資料了,那看來T3還是可做的?於是徘徊了好久終於還是開始寫T3,寫了會兒發現這個模擬還是OK的。最後一小時猜想有沒有迴圈節,然後嘗試實現了一把,最後還是沒有調出來,感覺有點糟糕。結果上期望得分只有30....

賽後發現

​ 最後抱玲了。

​ 下午代老師的講課果然也沒聽懂。但是看題解的感覺是,沒有什麼陌生的演算法的樣子,每道題都有自己的搞法。當然T2也是個資料結構,字尾樹其實沒寫過。

技術總結

T1

​ 正解寫的挺,妙的。。但我還沒懂。

T2

​ 建好字尾樹上之後在後綴樹上處理一些東西。也沒懂。

T3

​ 我非常想說我懂了,不過感覺沒有領會到精髓,這種思維模型轉化題就沒會做過。想象一條線,每次經過一個橫線就上翻,每次經過一共豎線就右翻,假設a>b,那麼每次至少右翻\(\left\lfloor\dfrac{a}{b}\right\rfloor\)次,然後上翻一次。那麼可以把他們結合在一起,類似歐幾里得演算法的,每次處理這麼多右翻和一次上翻,類似矩陣的快速冪,這個也可以快速冪,就是方向指標和指標上的cnt多做幾次這樣子,然後讓a%=b,縮小資料規模,這個時候一定是b大,那麼先上翻再右翻即可,最後剩下來的那個沒有變成1的,比如說gcd(a,b)做下來,b!=1,那麼就做\(b-1\)

次up操作讓他下來,複雜度就是歐幾里得演算法的複雜度再乘一個log。