Codeforces Round #441 D. Sorting the Coins(模拟)
2017-10-16 22:37
316 查看
http://codeforces.com/contest/876/problem/D
题意:
题意真是难懂,就是给一串序列,第i次操作会在p[x](1<=x<=i)这些位置放上硬币,然后从左到右观察,如果第i个位置有硬币但第i+1个位置没有硬币,那么互换,然后继续从第i+1个硬币开始看。直到不需要交换,需要计算出到终极状态需要多少步。
思路:
模拟。
题意:
题意真是难懂,就是给一串序列,第i次操作会在p[x](1<=x<=i)这些位置放上硬币,然后从左到右观察,如果第i个位置有硬币但第i+1个位置没有硬币,那么互换,然后继续从第i+1个硬币开始看。直到不需要交换,需要计算出到终极状态需要多少步。
思路:
模拟。
#include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<vector> #include<stack> #include<queue> #include<cmath> #include<map> #include<set> using namespace std; typedef long long ll; typedef pair<int,int> pll; const int INF = 0x3f3f3f3f; const int maxn = 300000+5; int n; int p[maxn]; int a[maxn]; vector<int> ans; int main() { //freopen("in.txt","r",stdin); while(~scanf("%d",&n)) { ans.clear(); memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) scanf("%d",&p[i]); int max_right=n; int cnt=0; for(int i=1;i<=n;i++) { a[p[i]]=1; if(p[i]==max_right) { for(int j=max_right-1;j>=1;j--) { if(!a[j]) {max_right=j;break;} else cnt--; } } else { cnt++; } ans.push_back(cnt+1); } printf("1"); for(int i=0;i<ans.size();i++) printf(" %d",ans[i]); printf("\n"); } return 0; }
相关文章推荐
- Codeforces 876 D. Sorting the Coins 模拟
- Codeforces875B-Sorting the Coins
- 【Codeforces875B】Sorting the Coins
- Codeforces Round #441 (Div.2) - D - Sorting the Coins xjb搞搞。
- Codeforces Round #441 (Div.2) - D - Sorting the Coins xjb搞搞。
- Codeforces Round #441 D. Sorting the Coins(线段树)
- Codeforces 875B (Round 441 D1) Sorting the Coins
- codeforces 876 D. Sorting the Coins
- 【反序表+树状数组】Codeforces Round #441(Div.2)D[Sorting the Coins]题解
- Codeforces 875B (Round 441 D1) Sorting the Coins
- [刷题]Codeforces Round #441(Div. 2) - D. Sorting the Coins
- Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) D. Sorting the Coins 乱搞
- Codeforces Round #441 D. Sorting the Coins
- Codeforces Round #441 D. Sorting the Coins
- Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) D. Sorting the Coins
- codeforces——875B —— Sorting the Coins
- CF D. Sorting the Coins
- #440 Div.2 D.Sorting the Coins 硬币排序问题
- CodeForces 875B ( Sorting the Coins) 难度蛮大的一道题目 题目说了一堆主要还是找规律
- Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) D. Sorting the Coins【规律】