AtCoder Regular Contest 064
文章目錄
- C - Boxes and Candies
- D - An Ordinary Game
- E - Cosmic Rays
- F - Rotated Palindromes
C - Boxes and Candies
Score : 300300300 points 貪心
每次比較相鄰兩個(gè),貪心的給最后一個(gè)加即可。
代碼
D - An Ordinary Game
Score : 500500500 points 博弈 + 結(jié)論
太蠢了,沒看出來。
先說結(jié)論:
下面解釋一下
由于兩頭的字母不能動,并且我們最終狀態(tài)一定是abababababab,或者abaabaaba這兩種類型,不難發(fā)現(xiàn)這兩個(gè)狀態(tài)是必?cái)B(tài),考慮必勝到必?cái)顟B(tài)的轉(zhuǎn)換,再考慮上奇偶性,就得出如上結(jié)論了。
代碼
E - Cosmic Rays
Score : 600600600 points 最短路
很基礎(chǔ)的一個(gè)建圖題了,不多說。
代碼
F - Rotated Palindromes
Score : 100010001000 points dpdpdp + 回文
題意:求長度為nnn并且aaa種的數(shù)在[1,k][1,k][1,k]內(nèi),并且aaa是一個(gè)回文的數(shù)的個(gè)數(shù)。
1≤n,k≤1e91\le n,k\le 1e91≤n,k≤1e9
首先不難得出一共可以產(chǎn)生m(n+1)/2m^{(n+1)/2}m(n+1)/2種回文串,將他們循環(huán)左移nnn次后產(chǎn)生多個(gè)字符串,不難發(fā)現(xiàn)有很多重復(fù)的,下面考慮去重。
考慮會產(chǎn)生重復(fù)的原因,可以發(fā)現(xiàn)跟循環(huán)節(jié)有關(guān)系。比如abbaabbaabbaabbaabbaabba,他循環(huán)右移到baabbaabbaabbaabbaabbaab就重復(fù)了,這個(gè)時(shí)候就應(yīng)該停止,為什么呢?因?yàn)?span id="ozvdkddzhkzd" class="katex--inline">abbaabbaabba是他的最小循環(huán)節(jié),回文串的最小循環(huán)節(jié)一定也是回文串,分以下兩種情況:
- 當(dāng)最小循環(huán)節(jié)的長度是偶數(shù)時(shí),他的貢獻(xiàn)就是∣s∣2\frac{|s|}{2}2∣s∣?
- 當(dāng)最小循環(huán)節(jié)長度為奇數(shù)時(shí),他的貢獻(xiàn)就是∣s∣|s|∣s∣
所以我們可以枚舉nnn的約數(shù),也就是最小循環(huán)節(jié)的長度,設(shè)dp[i]dp[i]dp[i]代表循環(huán)節(jié)長度是iii的時(shí)候的有多少串,當(dāng)然需要去掉有更小循環(huán)節(jié)的情況,讓后根據(jù)奇偶乘上iii或者i/2i/2i/2即可,復(fù)雜度大約是n+d2logn\sqrt n+d^2lognn?+d2logn
代碼
總結(jié)
以上是生活随笔為你收集整理的AtCoder Regular Contest 064的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 批量修改文件名中的一部分批量修改文件名中
- 下一篇: AtCoder Regular Cont