日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CodeForces - 1295B Infinite Prefixes(数学)

發布時間:2024/4/11 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CodeForces - 1295B Infinite Prefixes(数学) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:點擊查看

題目大意:給出一個由0或1組成的字符串s,用來構造出字符串 t =? s?+ s + s....+ s,字符串 t 由無限個 s 拼接而成?,F在規定cnt_0 [ i ]和cnt_1 [ i ]分別為到第 i 位為止所出現的0和1的個數,給出一個 x ,問字符串 t 中有多少個前綴滿足cnt_0 [ i ] - cnt_1 [ i ] == x,若有無限個答案,輸出-1

題目分析:簡單到不能在簡單的數學題了,但是比賽的時候腦子瓦特了,一直處理不了細節,加上讀題的時候就把心態讀崩了,正所謂是半小時讀題,一秒鐘出正解,一小時debug,然后交上去1WA,心態直接炸裂,完成掉分

讀完題后,第一反應應該是有一個公式的,因為字符串 t 是由字符串 s 無限循環而得到的,每次循環后都必定會有數字0和數字1差值積累的貢獻,比如字符串101,每循環一次所積累的差值為 -1 ,循環100次積累的差值就是 -100 ,所以我們可以分為兩類,一類是可以積累貢獻的,另一類是不能積累貢獻的(也就是0的個數和1的個數相同時),當然輸出-1的情況顯然在不能積累貢獻的情況中,我們假設找到?x 時是在第 k 次循環,那么有公式:

k * ( cnt_0 [ n ] - cnt_1 [ n ] ) + ( cnt_0 [ i ] - cnt_1 [ i ] ) == x?

移項處理得到:

k * ( cnt_0 [ n ] - cnt_1 [ n ] ) == x -?( cnt_0 [ i ] - cnt_1 [ i ] )

滿足上述條件的 i 就是我們所要找的答案了,需要滿足兩個條件:

  • 因為積累貢獻的 k 是從 0 開始的,所以第一個條件為(x -?( cnt_0 [ i ] - cnt_1 [ i ] )) /?( cnt_0 [ n ] - cnt_1 [ n ] ) >=0
  • 其次就是 (x -?( cnt_0 [ i ] - cnt_1 [ i ] )) %?( cnt_0 [ n ] - cnt_1 [ n ] ) == 0
  • 當然眾所周知 0 不能作為除數出現,所以要分類討論一下( cnt_0 [ n ] - cnt_1 [ n ] ) == 0時的情況,也就是不能積累貢獻的情況,還有空串的情況也需要特判

    代碼:

    #include<iostream> #include<cstdio> #include<string> #include<ctime> #include<cmath> #include<cstring> #include<algorithm> #include<stack> #include<queue> #include<map> #include<set> #include<sstream> using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=1e5+100;int cnt[N];char s[N];int main() { // freopen("input.txt","r",stdin); // ios::sync_with_stdio(false);int w;cin>>w;while(w--){int n,x;scanf("%d%d%s",&n,&x,s+1);for(int i=1;i<=n;i++){cnt[i]=cnt[i-1];if(s[i]=='0')cnt[i]++;elsecnt[i]--;}int ans=0;if(x==0)//特判空串 ans++;for(int i=1;i<=n;i++){if(cnt[n]==0)//每次循環貢獻為0 {if(cnt[i]==x)ans++;}else//每次循環都有貢獻 {if((x-cnt[i])%cnt[n]==0&&(x-cnt[i])/cnt[n]>=0)ans++;} }if(cnt[n]==0&&ans)//特判無限ans=-1;printf("%d\n",ans);}return 0; }

    ?

    總結

    以上是生活随笔為你收集整理的CodeForces - 1295B Infinite Prefixes(数学)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美少妇激情 | 国产99色 | 欧美成人精品一区二区男人看 | 亚洲在线a | 另类激情亚洲 | 国产成人高清在线 | 在线视频一二区 | www.成人网.com| 91久久在线 | 影音先锋亚洲成aⅴ人在 | 后进极品美女圆润翘臀 | 亚洲一区精品在线观看 | 成人在线国产精品 | 亚洲精品喷潮一区二区三区 | 奶波霸巨乳一二三区乳 | 91麻豆精品91久久久久同性 | 日本一区二区高清免费 | 成人18视频免费69 | 澳门一级黄色片 | 欧美在线亚洲 | 国产激情久久久 | 久国久产久精永久网页 | 永久免费的网站入口 | 电影91久久久 | 在线免费av网站 | 三级成人 | 91高清视频免费观看 | 国产肥熟| av免费高清 | 97人人干 | 国产欧美精品一区 | 国产精品一区二区入口九绯色 | 4438全国成人免费 | 男人资源站| 天天爽天天摸 | 亚洲二区在线播放视频 | 人人妻人人澡人人爽久久av | 激情综合啪啪 | 日韩一卡二卡在线 | 国产精品xxxx | 337p日本大胆噜噜噜噜 | 精品久久无码视频 | 亚洲小视频在线观看 | 污网址在线观看 | 中国丰满熟妇xxxx性 | 人妻丰满熟妇av无码区免 | 麻豆国产精品777777在线 | 欧美综合国产 | 午夜看片网站 | 国产亚洲毛片 | 红桃视频国产 | 欧美视频一区二区三区四区 | 亚洲精品一区二区三区四区五区 | 日本女人一区二区三区 | 免费毛片av | 久久成人免费视频 | 亚洲av永久无码精品一百度影院 | 国产91精品欧美 | 成人免费毛片aaaaaa片 | 欧美性videos高清精品 | 91大神小宝寻花在线观看 | 91国偷自产中文字幕久久 | 久久久av网站 | av在线资源网 | av免播放器 | 又黄又爽又刺激的视频 | 一级黄色片片 | 天天操天天干天天摸 | 日本丰满少妇裸体自慰 | ww黄色| 最近更新中文字幕 | 欧美巨大乳 | 久久国产精品免费看 | 国产一线二线三线在线观看 | 天天综合天天添夜夜添狠狠添 | 国产成人无码精品久久久久 | 国产激情a | 一区二区三区少妇 | 国产婷婷色 | 欧美一级免费大片 | 中国美女一级黄色片 | 欧美国产中文字幕 | 韩国三级黄色 | 亚洲不卡视频在线 | 亚洲综合av网 | 91禁动漫在线 | 亚洲精品国产一区二 | 青青导航 | 亚洲天堂一二三 | 免费观看的黄色网址 | 日韩女同互慰一区二区 | 国产精品久久久久毛片大屁完整版 | 韩国伦理片在线观看 | 国产妇女馒头高清泬20p多 | 女仆裸体打屁屁羞羞免费 | 久久精品国产99国产精品 | 天堂新版8中文在线8 | 2023av在线 | 欧美日韩一区二区三区国产精品成人 |