• Codeforces Round #671 (Div. 2) (A~E)


    Link~
    题面差评,整场都在读题

    A

    根据奇偶性判断一下即可。

    #include<bits/stdc++.h>
    #define ll long long
    #define N
    #define rep(i,a,n) for (int i=a;i<=n;i++)
    #define per(i,a,n) for (int i=n;i>=a;i--)
    #define inf 0x3f3f3f3f
    #define pb push_back
    #define mp make_pair
    #define lowbit(i) ((i)&(-i))
    #define VI vector<int>
    using namespace std;
    int t,n;
    string s;
    int main(){
    	//freopen(".in","r",stdin);
    	//freopen(".out","w",stdout);
     	cin>>t;
     	while(t--){
     		cin>>n;
     		cin>>s;
     		int odd,even;odd = even = -1;
     		if(n&1){
     			rep(i,0,n-1){
     				if((i&1)==0){
     					int v = s[i]-'0';
     					if(v&1) odd = 1;
     					else even = 1;
     				}
     			}
     			if(odd != -1) puts("1");
     			else puts("2");
     		}else{
     			rep(i,0,n-1){
     				if((i&1)==1){
     					int v = s[i]-'0';
     					//cout << "v: " <<v << endl;
     					if(v&1) odd = 1;
     					else even = 1;
     				}
     			}
     			if(even != -1) puts("2");
     			else puts("1");
     		}
    
     	}
    	return 0;
    }
    

    B

    神必题意,读了快半小时才明白题意。
    看着题目给的图的找个规律就行了。

    #include<bits/stdc++.h>
    #define int long long
    #define N 1000015
    #define rep(i,a,n) for (int i=a;i<=n;i++)
    #define per(i,a,n) for (int i=n;i>=a;i--)
    #define inf 0x3f3f3f3f
    #define pb push_back
    #define mp make_pair
    #define lowbit(i) ((i)&(-i))
    #define VI vector<int>
    using namespace std;
    int t,n,x,val[N];
    int qpow(int a,int b){
    	int res = 1;
    	while(b){
    		if(b&1) res = res*a;
    		a = a*a;
    		b>>=1;
    	}
    	return res;
    }
    signed main(){
    	//freopen(".in","r",stdin);
    	//freopen(".out","w",stdout);
     	cin>>t;n = 31;
     	rep(i,1,n) val[i] = val[i-1]*2+qpow(4,i-1);
     	rep(i,1,n) val[i] += val[i-1];//,cout << val[i] << endl;
     	while(t--){
     		cin>>x;
     		int l = 1,r = n,ans = 0;
     		while(l+3 < r){
     			int mid = (l+r)>>1;
     			if(val[mid] <= x) l = mid;
     			else r = mid;
     		}
     		rep(i,l,r){
     			if(val[i] <= x) ans = max(ans,i);
     		}
     		cout << ans << endl;
     	}
    	return 0;
    }
    

    C

    大力分类讨论题,WA了好多发

    #include<bits/stdc++.h>
    #define int long long
    #define N 1005
    #define rep(i,a,n) for (int i=a;i<=n;i++)
    #define per(i,a,n) for (int i=n;i>=a;i--)
    #define inf 0x3f3f3f3f
    #define pb push_back
    #define mp make_pair
    #define lowbit(i) ((i)&(-i))
    #define VI vector<int>
    using namespace std;
    int t,n,a[N];
    signed main(){
    	//freopen(".in","r",stdin);
    	//freopen(".out","w",stdout);
     	cin>>t;
     	while(t--){
     		int ans = inf,cur,ff = 0;
     		cin>>n>>cur;
     		rep(i,1,n) cin>>a[i];
     		int sum = 0;rep(i,1,n) sum += a[i];
     		rep(i,1,n) if(a[i] == cur) ff++;
     		if(n*cur == sum) ans = min(ans,1ll);
     		if(ff == n) ans = min(ans,0ll);
     		if(ff > 1){
     			ans = min(ans,1ll);
     		}else{
     			ans = min(ans,2ll);
     		}
     		int left = n-ff;
     		if(left < n) ans = min(ans,1ll);
     		if(sum%n == 0){
     			if(ff) ans = min(ans,1ll);
     		}
     		cout << ans << endl;
     	}
    	return 0;
    }
    

    D

    贪心构造

    #include<bits/stdc++.h>
    #define ll long long
    #define N 100015
    #define rep(i,a,n) for (int i=a;i<=n;i++)
    #define per(i,a,n) for (int i=n;i>=a;i--)
    #define inf 0x3f3f3f3f
    #define pb push_back
    #define mp make_pair
    #define lowbit(i) ((i)&(-i))
    #define VI vector<int>
    using namespace std;
    int n,a[N],b[N];
    int main(){
    	//freopen(".in","r",stdin);
    	//freopen(".out","w",stdout);
     	cin>>n;
     	rep(i,1,n) cin>>a[i];
     	sort(a+1,a+n+1);int l = 1,r = n/2+1;
     	rep(i,1,n){
     		if(i&1) b[i] = a[r++];
     		else b[i] = a[l++];
     	}
     	int cnt = 0;
     	rep(i,2,n-1){
     		if(b[i] < b[i-1]&&b[i] < b[i+1]) cnt++;
     	}
     	cout << cnt << endl;
     	rep(i,1,n) cout << b[i] << ' ';
    	return 0;
    }
    

    E

    特判\(n = p*q\)的情况,其中\(p,q\)是质数,答案为\(1\),直接输出即可。
    否则答案为零,在这里插入图片描述

    这样围成一个圈就行了。

    垃圾场,让人挺不爽的,因为奇怪的原因被区分,可能是手速和英语不太行。

  • 相关阅读:
    新版ubuntu中打开终端的方法和安装ssh 的方法
    HTML中利用404将老域名重定向到新域名
    KeelKit 1.0.3500.25185
    如何制作VSPackage的安装程序
    一副漫画:IE6滚回你老家去
    “表单控件”与“实体类”
    VS2005中得到 Web页面 或 窗体的 IDesignerHost
    一句SQL搞定分页
    CodeDom Assistant CodeDom的强大工具, 有些BUG修正了下,发到CodePlex,大家有需要的可以看看
    VS2005 出现 The OutputPath property is not set for this project. 错误的解决方法
  • 原文地址:https://www.cnblogs.com/czdzx/p/13997086.html
Copyright © 2020-2023  润新知