Educational Codeforces Round 81 (Rated for Div. 2) B. Infinite Prefixes 数学
傳送門
文章目錄
- 題意:
- 思路:
題意:
給你個串sss,讓后把它重復無限次得到ttt,定義前綴的價值為cnt0?cnt1cnt_0-cnt_1cnt0??cnt1?,求ttt的前綴價值為xxx的前綴個數,若有無限多輸出?1-1?1。
思路:
定義pre[i]pre[i]pre[i]為前iii個字符的價值。
如果pre[n]=0pre[n]=0pre[n]=0,那么說明每個串都獨立,如果至少一個pre[i]=xpre[i]=xpre[i]=x,那么說明他是有無限個,輸出?1-1?1,否則就不存在輸出000姐即可。
如果pre[n]!=0pre[n]!=0pre[n]!=0,那說明我們可以以pre[n]pre[n]pre[n]為基底,將xxx縮小p?pre[n]p*pre[n]p?pre[n],讓后再加上某一個前綴pre[i]pre[i]pre[i],即p?pre[n]+pre[i]=xp*pre[n]+pre[i]=xp?pre[n]+pre[i]=x,轉化一下p=x?pre[i]pre[n]p=\frac{x-pre[i]}{pre[n]}p=pre[n]x?pre[i]?,也就是當(x?pre[i])modpre[n]=0(x-pre[i])\bmod pre[n]=0(x?pre[i])modpre[n]=0的時候貢獻加一,需要注意(x?pre[i])(x-pre[i])(x?pre[i])與pre[n]pre[n]pre[n]需要同號,最后特判一下x=0x=0x=0的情況就好啦。
總結
以上是生活随笔為你收集整理的Educational Codeforces Round 81 (Rated for Div. 2) B. Infinite Prefixes 数学的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 男性怎么延时
- 下一篇: 苹果泡酸奶有什么功效