AtCoder Regular Contest 079 C D E
2017-07-31 11:16
453 查看
C 问是否能两步从1到达n
开两个数组存是否能一步到达1和n
D n个数,每个数的初始数字为a[i],如果最大的数大于等于n,则最大的数-n,其余的数+1,现在进行k次这样的操作,求n及a[i]
直接拿n=50来构造,拿其他数字会超范围,我们可以发现经过n次循环之后,a[i]的每个数必然会-1,假设最终态为0,1,2,3...49,最终态的上一层必然为1,2,3,...50,以此类推上去,令res=k%n,假若res!=0,我们就要处理多res次循环,因此将前res个数+50
E 与D题相反,给出n及a[i],求k
直接暴力求解
开两个数组存是否能一步到达1和n
#include <bits/stdc++.h> using namespace std; #define inf 0x3f3f3f3f #define PI acos(-1.0) typedef long long ll; const int maxn=2e5+5; int vis1[maxn],vis2[maxn]; int main() { int n,m; cin >> n >> m; int cnt=0; int flag=1; for(int i=0;i<m;i++) { int a,b; cin >> a >> b; if(a==1) vis1[b]=1; if(b==1) vis1[a]=1; if(a==n) vis2[b]=1; if(b==n) vis2[a]=1; } for(int i=1;i<=n;i++) if(vis1[i]&&vis2[i]) { cout << "POSSIBLE" << endl; return 0; } cout << "IMPOSSIBLE" << endl; return 0; }
D n个数,每个数的初始数字为a[i],如果最大的数大于等于n,则最大的数-n,其余的数+1,现在进行k次这样的操作,求n及a[i]
直接拿n=50来构造,拿其他数字会超范围,我们可以发现经过n次循环之后,a[i]的每个数必然会-1,假设最终态为0,1,2,3...49,最终态的上一层必然为1,2,3,...50,以此类推上去,令res=k%n,假若res!=0,我们就要处理多res次循环,因此将前res个数+50
#include <bits/stdc++.h> using namespace std; #define inf 0x3f3f3f3f #define PI acos(-1.0) typedef long long ll; const int maxn=1e5+5; int main() { ll k; scanf("%lld",&k); int n=50; cout << n << endl; ll res=k%50; ll x=k/50-1; ll cnt=res; for(ll i=1;i<=50;i++) { if(cnt>0) { printf("%lld ",i+50-res+1+x); cnt--; } else printf("%lld ",i-res+x); } cout << endl; return 0; }
E 与D题相反,给出n及a[i],求k
直接暴力求解
#include <bits/stdc++.h> using namespace std; #define inf 0x3f3f3f3f #define PI acos(-1.0) typedef long long ll; const int maxn=100; ll a[100],n,k; int main() { cin >> n; for(int i=0;i<n;i++) cin >> a[i]; while(1) { ll maxx=-1,index=0; for(int i=0;i<n;i++) if(maxx<a[i]) maxx=a[i],index=i; if(maxx<n) break; for(int i=0;i<n;i++) { if(index==i) a[i]%=n; else a[i]+=(maxx/n); } k+=(maxx/n); } cout << k << endl; return 0; }
相关文章推荐
- AtCoder Regular Contest 079-E - Decrease (Judge ver.)
- AtCoder Regular Contest 079
- 【构造】AtCoder Regular Contest 079 D - Decrease (Contestant ver.)
- AtCoder Regular Contest 079
- 【贪心】AtCoder Regular Contest 079 E - Decrease (Judge ver.)
- 【构造】AtCoder Regular Contest 079 F - Namori Grundy
- Atcoder AtCoder Regular Contest 079 E - Decrease (Judge ver.)
- AtCoder Regular Contest 079-C - Cat Snuke and a Voyage
- AtCoder Regular Contest 079 F - Namori Grundy 乱搞
- AtCoder Regular Contest 079-D - Decrease (Contestant ver.)
- AtCoder Regular Contest 079 D - Decrease (Contestant ver.)
- AtCoder Regular Contest 082 ABCD
- AtCoder Regular Contest 086 E - Smuggling Marbles(树形迭屁)
- AtCoder Regular Contest 058 D - Iroha and a Grid 组合数学
- AtCoder Regular Contest 074 F - Lotus Leaves 最小割
- [AtCoder Regular Contest 072] E: Alice in linear land (arc072e)
- AtCoder Regular Contest 093 D - Grid Components
- AtCoder Regular Contest 071 F
- AtCoder Regular Contest 098
- Atcoder regular Contest 073(C - Sentou)