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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

NEC Programming Contest 2021 (AtCoder Beginner Contest 229)

發布時間:2023/12/3 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NEC Programming Contest 2021 (AtCoder Beginner Contest 229) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

終于開始補提了
重點 : C, E的倒著算, F的染色,G的相鄰的轉換;
B - Hard Calculation

#include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <cmath> #include <stack> #include <map> #define mid (l+r>>1) #define lowbit(x) (x&-x) using namespace std; typedef long long LL; typedef pair<int,int> PII; const int N = 4e5+10, mod = 1e9+7; void mull(int &a, LL b){a = a*b%mod;return ;} void add(int &a, LL b){a = (a+b)%mod;return ;}int main() {LL a, b;scanf("%lld%lld", &a, &b);while(a||b){if(a%10 + b%10 >= 10)return puts("Hard"), 0;a /= 10; b /= 10;}puts("Easy");return 0; }

C - Cheese
思路 : 倒著算,直接減,和上海熱身賽B都好神奇。

#include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <cmath> #include <stack> #include <map> #define mid (l+r>>1) #define lowbit(x) (x&-x) using namespace std; typedef long long LL; typedef pair<int,int> PII; const int N = 3e5+10, mod = 998244353; void mull(int &a, LL b){a = a*b%mod;return ;} void add(int &a, LL b){a = (a+b)%mod;return ;}int n, w; PII a[N]; int main() {scanf("%d%d", &n, &w);for(int i = 1;i <= n;i ++){int x, y;scanf("%d%d", &x, &y);a[i] = {-x, y};}sort(a+1, a+n+1);LL ans = 0;for(int i = 1;i <= n;i ++){int mi = min(a[i].second, w);ans += (LL)mi*a[i].first;w -= mi;}cout<<-ans<<endl;return 0; }

D - Longest X
思路 : 雙指針或二分,練一下雙指針,哎。

#include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <cmath> #include <stack> #include <map> #define mid (l+r>>1) #define lowbit(x) (x&-x) using namespace std; typedef long long LL; typedef pair<int,int> PII; const int N = 2e5+10, mod = 1e9+7; void mull(int &a, LL b){a = a*b%mod;return ;} void add(int &a, LL b){a = (a+b)%mod;return ;}char c[N]; int main() {int k;scanf("%s%d", c, &k);int num = 0, l = 0, r = 0, ans = 0;while(c[r]){if(c[r] == 'X') r++;else if(num == k) num -= c[l++]=='.';else if(num < k) num ++, r++;ans = max(ans, r-l);}cout<<ans<<endl;return 0; }

E - Graph Destruction
思路 :從后往前算,倒著并查集合并。

#include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <cmath> #include <stack> #include <queue> #define mid (l+r>>1) #define lowbit(x) (x&-x) using namespace std; typedef long long LL; typedef pair<int,int> PII; const int N = 2e5+10, mod = 1e9+7;vector<int>G[N]; int fa[N], num = 0; int find(int u){return fa[u] == u ? fa[u]:fa[u] = find(fa[u]);}void dfs(int u) {if(!u)return ;int t = num;num++;int y = find(u);for(auto x : G[u]){int a = find(x);if(a != y) num--, fa[a] = y;}dfs(u-1);cout<<t<<endl;return ; } int main() {int n, m;scanf("%d%d", &n, &m);for(int i = 1;i <= n;i ++) fa[i] = i;while(m --){int a, b;scanf("%d%d", &a, &b);if(a > b) swap(a, b);G[a].push_back(b);}dfs(n);return 0; }

F - Make Bipartite
思路 : dp,給每個點染色之后就可以清晰的得到要刪哪條邊了,但是這是個封閉圖形,題解就確定了起點的顏色,然后算到第n個點,這時候先不考慮n到1的邊 。 然后再枚舉n和1的四種顏色組合,枚舉的時候要注意n到0的邊已經刪過了,因為這個wa了兩次。

#include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <cmath> #include <stack> #include <map> #define mid (l+r>>1) #define lowbit(x) (x&-x) using namespace std; typedef long long LL; typedef pair<int,int> PII; const int N = 3e5+10, mod = 998244353; void mull(int &a, LL b){a = a*b%mod;return ;} void add(int &a, LL b){a = (a+b)%mod;return ;}LL dp[N][2][2]; int a[N], b[N];int main() {int n;scanf("%d", &n);for(int i = 1;i <= n;i ++)scanf("%d", a+i);for(int i = 1;i <= n;i ++)scanf("%d", b+i);memset(dp, 0x7f, sizeof dp);dp[1][0][0] = a[1];dp[1][1][1] = 0;for(int i = 2;i <= n;i ++){dp[i][1][0] = min(dp[i-1][1][0]+b[i-1], dp[i-1][0][0]);dp[i][1][1] = min(dp[i-1][1][1]+b[i-1], dp[i-1][0][1]);dp[i][0][0] = min(dp[i-1][1][0], dp[i-1][0][0]+b[i-1])+a[i];dp[i][0][1] = min(dp[i-1][1][1], dp[i-1][0][1]+b[i-1])+a[i];}cout<<min(min(dp[n][0][0], dp[n][1][1]) + b[n], min(dp[n][1][0], dp[n][0][1]));return 0; }

G - Longest Y

#include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <cmath> #include <stack> #include <map> #define mid (l+r>>1) #define lowbit(x) (x&-x) using namespace std; typedef long long LL; typedef pair<int,int> PII; const int N = 3e5+10, mod = 998244353; void mull(int &a, LL b){a = a*b%mod;return ;} void add(int &a, LL b){a = (a+b)%mod;return ;}int b[N], idx; // 看哪個題解的,放到一起連續就是坐標減去指數相等。 string c; LL k, a[N]; // a數組是前綴和,方便計算一段區間放到的最小步數; bool ch(int len) {for(int r = len;r <= idx;r ++){int l = r-len+1, lle = mid-l+1;LL sum = (LL)b[mid]*lle - (a[mid]-a[l-1]) + a[r]-a[mid] - (LL)b[mid]*(len-lle);if(sum<=k)return 1; }return 0; }int main() {cin>>c>>k;for(int i = 0;i < c.size();i ++)if(c[i] == 'Y')b[++idx] = i-idx;sort(b+1, b+idx+1);for(int i = 1;i <= idx;i ++)a[i] = a[i-1]+b[i];int l = 0, r = idx+1;while(l < r) // 二分都是找到連續區間的右邊的左端點; {if(ch(mid))l = mid+1;else r = mid; }cout<<--l<<endl;return 0; }

總結

以上是生活随笔為你收集整理的NEC Programming Contest 2021 (AtCoder Beginner Contest 229)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 成人宗合 | 日本www色视频| mm131美女大尺度私密照尤果 | 日韩高清一区 | www国产精品内射老熟女 | 日韩 国产 一区 | 日本美女动态 | 日一日射一射 | 欧美色亚洲 | 免费的黄色的网站 | 久久亚洲影视 | 欧美日本一道本 | 国产88av | 亚洲自偷自偷偷色无码中文 | 成人毛片在线观看 | 国产精品久久久久久久久久辛辛 | 欧美xxxx8888| 日朝毛片 | 伊人网免费视频 | 国产精品久久综合青草亚洲AV | 小柔的淫辱日记(h | 激情超碰在线 | 三级网站视频 | wwwwxxxxx日本 | 美女激情网 | 亚洲国产剧情 | 国产男人搡女人免费视频 | 日韩欧美亚洲一区 | 国产精品天天av精麻传媒 | 黄色免费在线视频 | 综合视频一区二区 | 男女激情大尺度做爰视频 | 国产影视一区二区三区 | 猛1被调教成公厕尿便失禁网站 | 16一17女人毛片 | 亚洲欧美日本韩国 | 一级黄色大片视频 | 日日夜夜婷婷 | 日本黄色大片在线观看 | 女女同性女同一区二区三区九色 | a√在线 | 在线观看av毛片 | 欧美日本韩国 | 超碰97人人草 | 亚洲一区二区三区婷婷 | 欧美三级一区二区 | 一个人看的www视频在线观看 | 国产一区二区在线电影 | 天天干导航 | 内射毛片内射国产夫妻 | 久久中文字幕人妻熟av女蜜柚m | 日日夜精品 | 99国产在线视频 | 91九色偷拍 | av5566| 色一情一乱一区二区三区 | 黄频视频在线观看 | 成人免费毛片嘿嘿连载视频 | 黄色av一区二区 | 日日插插 | 黄色国产一区二区 | 无码一区二区三区免费 | 97精品国产97久久久久久粉红 | 免费看的av片 | 日韩伦理一区 | 伊人国产在线 | 国产精品久久久久国产a级 国产一区二区在线播放 | 国产av 一区二区三区 | 在线观看福利电影 | 国产在线一区不卡 | 污片免费在线观看 | 亚洲免费中文字幕 | 国产又粗又长又大 | 日本熟女毛茸茸 | 农村村妇真实偷人视频 | 四虎福利| 国产精品久久久一区二区三区 | 91嫩草视频在线观看 | 亚洲精久 | 国产福利小视频 | 午夜视频免费在线 | 日韩中文字幕亚洲精品欧美 | 干美女少妇 | 华人永久免费 | 亚洲一区二区观看播放 | 国产精品久久久久久亚洲伦 | 男人的天堂视频在线观看 | 亚洲一区二区三区在线播放 | 日韩av一区二区在线播放 | 婷婷色综合 | 色播综合| 一区二区三区欧美 | 久久久www成人免费精品 | 91呦呦 | 亚洲av无码一区二区三区四区 | 免费黄色国产视频 | 夜色精品| 最近中文字幕av | 含羞草一区二区 |