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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

LOJ #2734 Luogu P3615 [JOI2016春季合宿]Toilets (结论、贪心)

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LOJ #2734 Luogu P3615 [JOI2016春季合宿]Toilets (结论、贪心) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接

(loj) https://loj.ac/problem/2734
(luogu) https://www.luogu.org/problem/P3615

題解

嗯,考場上肝了\(3h\)然而最后發現一個智障地方沒想到……我果然還是菜的真實啊
首先隊列合法(能在\(N\)分鐘內解決)當且僅當: 每一個長度為偶數的后綴女生數量都不少于一半(一個等價的表述是,如果把男人看成\(1\)女人看成\(-1\)那么任何一個后綴和不大于\(1\), 但是這里由于是對女生操作所以只考慮女生會好很多)。證明只能根據題意一步步推,這里略去。
然后考慮\(O(n)\)做法: 若總共男人數嚴格多于女人數則無解,否則從后往前掃,若某個后綴女人數量少于一半了就把最近的女人移過來,顯然最優。
因此,設從后往前第\(i\)個女人位于從后往前第\(i\)個位置,則答案為\(\max(0,\max_i (b_i-2i))\).
現在字符串長度很大,那么發現對于每一個重復的子串,若其中女人數量多于一半則只需考慮從后往前的第一次重復,否則只需考慮最后一次,于是直接做即可。
時間復雜度\(O(\sum |s_i|)\).

代碼

#include<bits/stdc++.h> #define llong long long #define mkpr make_pair using namespace std;const int N = 2e5; struct Element {vector<char> s;int cnt0,cnt1; llong t; } a[N+3]; llong sum[N+3],sum1[N+3]; char str[N+3]; llong n; int m;int main() {scanf("%lld",&n);scanf("%d",&m);llong tot = 0ll;for(int i=1; i<=m; i++){scanf("%s%lld",str+1,&a[i].t); int len = strlen(str+1);for(int j=1; j<=len; j++){a[i].s.push_back(str[j]);if(str[j]=='F') {tot-=a[i].t; a[i].cnt1++;}else {tot+=a[i].t; a[i].cnt0++;}}}for(int i=m; i>=1; i--){sum[i] = sum[i+1]+a[i].s.size()*a[i].t;sum1[i] = sum1[i+1]+a[i].cnt1*a[i].t;}if(tot>0) {puts("-1"); return 0;}llong ans = 0ll;for(int i=m; i>=1; i--){llong cur1 = sum1[i+1],cur = sum[i+1];if(2*a[i].cnt1<a[i].s.size()){cur1 += a[i].cnt1*(a[i].t-1ll);cur += a[i].s.size()*(a[i].t-1ll);}for(int j=a[i].s.size()-1; j>=0; j--){cur++;if(a[i].s[j]=='F') {cur1++;} // printf("cur=%lld cur1=%lld\n",cur,cur1);ans = max(ans,cur-(cur1<<1)-1);}}printf("%lld\n",ans);return 0; }

總結

以上是生活随笔為你收集整理的LOJ #2734 Luogu P3615 [JOI2016春季合宿]Toilets (结论、贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲激情视频小说 | 91搞| 久久毛片网站 | 风流僵尸艳片a级 | 日日噜噜噜夜夜爽爽狠狠 | 久久色在线 | 天天撸天天操 | 毛茸茸多毛bbb毛多视频 | 污视频网站在线播放 | 成人精品免费在线观看 | 校霸被c到爽夹震蛋上课高潮 | 国产免费高清av | 91视频免费入口 | 日本一区二区免费高清视频 | 在线激情小视频 | 一本色道久久综合亚洲精品按摩 | 51国产在线 | 中国美女乱淫免费看视频 | 黄色1级片 | 熟女高潮一区二区三区视频 | 狼人久久| 欧美三级又粗又硬 | 中国免费观看的视频 | 人妻丰满熟妇aⅴ无码 | 在线免费观看你懂的 | 日本综合久久 | 人体写真 福利视频 | 亚洲福利一区二区 | 欧美激情综合 | 六月激情婷婷 | 最近国语视频在线观看免费播放 | 欧美一区二区免费 | 欧美午夜精品久久久久免费视 | 激烈的性高湖波多野结衣 | 欧美va在线观看 | 成人国产精品一区二区 | 中文字幕一区二区精品 | 综合视频在线 | 日本人妖在线 | 久久艳片www.17c.com | 欧美大片在线免费观看 | 黑人vs亚洲人在线播放 | av网站在线免费看 | 超碰人人草 | av日韩精品| 黄色大片aa | 天天爱天天操 | 日本黄色一级网站 | www超碰在线| 欧美一级久久 | 久久国色 | 福利社区一区二区 | 国产探花一区二区三区 | 国产伦精品一区二区三区照片91 | 成人美女免费网站视频 | 色欲AV无码精品一区二区久久 | 波多野结衣 在线 | 性xxxx搡xxxxx搡欧美 | 亚洲人成影视 | 日韩av一区在线 | 操综合 | 成 人 a v天堂 | 色激情五月 | 午夜激情影视 | 国产黄色录像片 | 久色99| avxx| 亚洲美女av在线 | 4438全国成人免费 | 五月天激情在线 | 超碰婷婷| 中文字幕 欧美日韩 | 成人午夜精品一区二区三区 | 91porny九色| 亚洲精品 日韩无码 | 欧美乱妇狂野欧美视频 | 精品自拍第一页 | 性高跟丝袜xxxxhd | 国产精品久久久久久久免费大片 | 免费网站看av | 性生活网址 | 激情综合激情五月 | 99福利影院 | 欧美久久精品一级黑人c片 1000部多毛熟女毛茸茸 | 亚洲蜜桃精久久久久久久久久久久 | 欧美日韩在线第一页 | 国产精品国产三级国产三级人妇 | 精品少妇一二三区 | 欧美极品aaaaabbbbb | 污网址在线观看 | 国产黄色影视 | 中日韩av在线 | 国产日韩欧美电影 | 中文字幕在线不卡视频 | 麻豆传媒在线免费 | 日韩视频在线播放 | 夜夜精品一区二区无码 | 欧美在线小视频 | 91禁看片 |