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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【Codeforces】Round #488 (Div. 2) 总结

發布時間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Codeforces】Round #488 (Div. 2) 总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【Codeforces】Round #488 (Div. 2) 總結


比較僵硬的一場,還是手速不夠,但是作為正式成為競賽生的第一場比賽還是比較圓滿的,起碼沒有FST,A掉ABCD,總排82,怒漲rating兩百


A:Fingerprints


A題,就在第一個串中查找第二個串中的數字,最氣的是一開始沒編譯直接交CE了,噗

#include<iostream> #include<cstdio> using namespace std; int read(){int ans=0,w=1;char c=getchar();while(!isdigit(c)&&c!='-')c=getchar();if(c=='-')c=getchar(),w=-1;while(isdigit(c))ans=ans*10+c-'0',c=getchar();return ans*w; } #define N 20 int a[N],b[N]; int main(){int n=read(),m=read();for(int i=1;i<=n;i++)a[i]=read();for(int j=1;j<=m;j++)b[j]=read();for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)if(a[i]==b[j]){cout<<a[i]<<" ";break;}}return 0; }

B:Knights of a Polygonal Table




B題,照樣是手速題,按照能力值排一個序,然后可以用小根堆維護一下當前可以獲得的最大價值,然后記錄一下就好

#include<bits/stdc++.h> using namespace std; #define LL long long LL read(){LL ans=0,w=1;char c=getchar();while(!isdigit(c)&&c!='-')c=getchar();if(c=='-')c=getchar(),w=-1;while(isdigit(c))ans=ans*10+c-'0',c=getchar();return ans*w; } #define N 100010 struct Node{LL p,c,id,ans; }a[N]; LL n,k,ans[N]; priority_queue<LL,vector<LL>,greater<LL> > q; bool cmp(Node a,Node b){return a.p<b.p; } bool cmp2(Node a,Node b){return a.id<b.id; } int main(){LL sum=0;n=read();k=read();for(LL i=1;i<=n;i++)a[i].p=read();for(LL i=1;i<=n;i++)a[i].c=read(),a[i].id=i;sort(a+1,a+n+1,cmp);for(LL i=1;i<=min(k+1,n);i++){a[i].ans=a[i-1].ans+a[i].c;q.push(a[i].c);sum+=a[i].c;}for(LL i=k+2;i<=n;i++){LL top=q.top();q.pop();sum-=top;q.push(a[i].c);sum+=a[i].c;a[i].ans=sum;}sort(a+1,a+n+1,cmp2);for(LL i=1;i<=n;i++)printf("%I64d ",a[i].ans);return 0; }

C:Two Squares






就是給你兩個正方形,判斷有沒有相交
我把這種題叫做不用腦子卻死一片
final test的時候有一大堆人這題fst了。。誒
把握好代碼的細節,然后寫幾個特判就好了

#include<bits/stdc++.h> using namespace std; struct Node{int x,y; }a[5],b[5]; bool cmp(Node a,Node b){if(a.x==b.x)return a.y<b.y;return a.x<b.x; } int main(){for(int i=1;i<=4;i++)scanf("%d%d",&a[i].x,&a[i].y);for(int i=1;i<=4;i++)scanf("%d%d",&b[i].x,&b[i].y);sort(a+1,a+5,cmp);sort(b+1,b+5,cmp);int tmp=0;if(b[4].x<a[1].x)tmp=1;if(b[2].y>a[2].y)tmp=1;if(b[3].y<a[1].y)tmp=1;if(b[1].x>a[3].x)tmp=1;if(tmp){printf("NO");return 0;}//zuoshangif(b[1].x<a[2].x&&b[3].y>a[2].y){int t=b[2].y-b[2].x;if(t+a[2].x>a[2].y)tmp=1;}//zuoxiaif(b[1].x<a[1].x&&b[2].y<a[1].y){int t=b[3].x+b[3].y;if(t-a[1].x<a[1].y)tmp=1; }//youshangif(b[3].y>a[4].y&&b[4].x>a[4].x){int t=b[1].x+b[1].y;if(t-a[4].x>a[4].y)tmp=1;}//youxiaif(b[2].y<a[3].y&&b[4].x>a[3].x){int t=b[3].y-b[3].x;if(t+a[3].x<a[3].y)tmp=1;}if(tmp){printf("NO");return 0;}printf("YES");return 0; }

D:Open Communication




身為一個蒟蒻這種題我還是少碰的好,題意很毒瘤,然后我就用非常不正常的做法A了,我都不知道我是怎么A的。
大概是有兩個無聊的人,他們互相傳遞數字對,讓你確定他們的秘密數字是什么,然后秘密數字是:對于兩個元素不完全相等數對,其中一個相等的元素
然后可以確定輸出那個數,你不能確定但那兩個人可以確定輸出0,你和其中一人都不能確定輸出-1
然后我就記錄一下在每個人的信息里可能匹配的和全局可能匹配的,加一堆特判就好了,反正是亂搞做法

#include<bits/stdc++.h> using namespace std; #define N 30 struct Pai{int a,b; }x[N],y[N]; int n,m,pic[N]; int vis1[N][N],vis2[N][N]; int tmp1[N],tmp2[N]; int main(){cin>>n>>m;for(int i=1;i<=n;i++)cin>>x[i].a>>x[i].b;for(int i=1;i<=m;i++)cin>>y[i].a>>y[i].b;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){if(x[i].a==y[j].a&&x[i].b==y[j].b)continue;if(x[i].a==y[j].b&&x[i].b==y[j].a)continue;if(x[i].a==y[j].a||x[i].a==y[j].b)pic[x[i].a]=1,vis1[i][x[i].a]=1,vis2[j][x[i].a]=1;if(x[i].b==y[j].a||x[i].b==y[j].b)pic[x[i].b]=1,vis1[i][x[i].b]=1,vis2[j][x[i].b]=1;}for(int i=1;i<=n;i++)for(int j=1;j<=9;j++)tmp1[i]+=vis1[i][j];for(int i=1;i<=m;i++)for(int j=1;j<=9;j++)tmp2[i]+=vis2[i][j];int siz=0,tip;for(int i=1;i<=9;i++){siz+=pic[i];if(pic[i])tip=i;}if(siz==1){cout<<tip;return 0;}if(!siz){cout<<"-1";return 0;}for(int i=1;i<=n;i++){if(tmp1[i]>1){cout<<"-1";return 0;}}for(int i=1;i<=m;i++){if(tmp2[i]>1){cout<<"-1";return 0;}}cout<<"0";return 0; }

E:Careful Maneuvering



F:Compute Power


轉載于:https://www.cnblogs.com/dream-maker-yk/p/9676389.html

總結

以上是生活随笔為你收集整理的【Codeforces】Round #488 (Div. 2) 总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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