Codeforces Round #723 (Div. 2)
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #723 (Div. 2)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Codeforces Round #723 (Div. 2)
| A | Mean Inequality | 簽到 |
| B | I Hate 1111 | 思維 |
| C | Potions (Easy Version) | 思維 |
| C1 | Potions (Hard Version) | 思維 |
| D | Kill Anton | 思維+逆序對 |
| E | Oolimry and Suffix Array | |
| F | Median Queries |
CF1526A Mean Inequality
題意:
給你一個序列a,現在要求你重新排列a得到b,使得b中不存在,bi=(bi-1 + bi+1 )/2,b0=b2n,b2n+1=b1
題解:
排個序,然后序列的前半部分和后半部分一次輸出
代碼:
#include<bits/stdc++.h> #define debug(a,b) printf("%s = %d\n",a,b); typedef long long ll; using namespace std; //qdu打鐵匠 inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w; } const int maxn=100; int a[maxn]; int main() {int t; t=read();while(t--){int n=read();memset(a,0,sizeof(a));for(int i=1;i<=2*n;i++)cin>>a[i];sort(a+1,a+1+n+n);cout<<a[1]<<" "<<a[n+1];for(int i=2;i<=n;i++){cout<<" "<<a[i];cout<<" "<<a[n+i];}cout<<endl;}return 0; }B. I Hate 1111
題意:
給你一個數x,問這個x是否可以拆成11,111,1111,11111…的和
題解:
我們來看這個全1序列,1111可以被11 * 101表示,11111也可以被11和111表示,也就是說滿足題意的x一定是由11和111組成的,也就是x=a * 11+b * 111
111 = 11 * 10 +1
所以x = a * 11 +b * (11 * 10 +1)=(a + 10 * b) * 11 + b
那么b=x%11,
得到了b,用x減去b * 111,然后得到的結果看是否能整除11,如果可以就說明可以組成
代碼:
#include<bits/stdc++.h> #define debug(a,b) printf("%s = %d\n",a,b); typedef long long ll; using namespace std; //qdu打鐵匠 inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w; } int main() {int t;cin>>t;while(t--){int n;cin>>n;int b=n%11;if(n-b*111<0)puts("NO");else if(((n-b*111)%11)==0)puts("YES");else puts("NO");}return 0; }總結
以上是生活随笔為你收集整理的Codeforces Round #723 (Div. 2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: I love exam HDU - 69
- 下一篇: tekla软件使用技巧