Codeforces Round #693 (Div. 3)
作者:互联网
原题链接:https://codeforces.com/contest/1472
C. Long Jumps
用过了这个数就跳过,没有用过就接着加,最后ans取最大值
#include<iostream> #include<cstdio> #include<cstring> using namespace std; const int maxn=2e5+10; int a[maxn]; int bj[maxn]; int main() { int t; cin>>t; int n; while(t--) { cin>>n; memset(bj,0,sizeof(bj)); for(int i=1;i<=n;i++) scanf("%d",&a[i]); int ans=0; for(int i=1;i<=n;i++) { int anss=0; if(bj[i]==0) { for(int j=i;j<=n&&bj[j]==0;j+=a[j]) { anss+=a[j]; bj[j]=1; } ans=max(ans,anss); } } cout<<ans<<endl; } return 0; }View Code
D. Even-Odd Game
一开始想成拿自己这边最大的,那样是错误的,对敌人仁慈就是对自己残忍,正解应该是拿所有数里面最大的
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; const int maxn=2e5+10; int a[maxn]; int b[maxn];//ou Alice int c[maxn];//ji int main() { int t,n; cin>>t; while(t--) { cin>>n; int num1=0,num2=0; for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1); int k=n,pd=1; ll ans1=0,ans2=0; while(k) { if(pd==1&&a[k]%2==0) ans1+=a[k]; if(pd==-1&&a[k]%2==1) ans2+=a[k]; k--; pd*=-1; } if(ans1==ans2) printf("Tie\n"); else if(ans1>ans2) printf("Alice\n"); else printf("Bob\n"); } return 0; }View Code
E. Correct Placement
按照h排序,遍历的时候只找w更小的,因为后面的数h一定比前面的数的h大,h相等的情况不用考虑,一定不符合题意
现场只想到了n^2的算法,被无情hack
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int maxn=2e5+10; struct node{ int h,w,id; }a[maxn]; int ans[maxn]; bool amp(node x,node y) { if(x.h!=y.h) return x.h<y.h; else return x.w>y.w; } int main() { int t,n; cin>>t; while(t--) { cin>>n; for(int i=1;i<=n;i++) { scanf("%d%d",&a[i].h,&a[i].w); if(a[i].h>a[i].w) swap(a[i].h,a[i].w); a[i].id=i; } sort(a+1,a+n+1,amp); int minw=a[1].w; int flag=1; ans[a[flag].id]=-1; for(int i=2;i<=n;i++) { if(a[i].h>a[flag].h&&a[i].w>a[flag].w) ans[a[i].id]=a[flag].id; else ans[a[i].id]=-1; if(minw>a[i].w) { minw=a[i].w; flag=i; } } for(int i=1;i<=n;i++) cout<<ans[i]<<" "; cout<<endl; } return 0; }View Code
这场写了A~E,本来以为要加大分,但是C和E被hack,又觉得要掉大分,最终还是加分了
天为箩盖地为毯,日月星辰伴我眠;
什么人撒下名利网,富贵贫困不一般;
也有骑马与坐轿,也有推车把担担;
骑马坐轿修来的福,推车担担命该然;
骏马驮着痴呆汉,美妇人常伴拙夫眠;
八十老翁门前站,三岁顽童染黄泉;
不是老天不睁眼,善恶到头报应循环。
标签:693,int,Codeforces,cin,flag,maxn,Div,include,id 来源: https://www.cnblogs.com/standard/p/14320254.html