Codeforces Round #441 (Div.2) - D - Sorting the Coins xjb搞搞。
2017-10-20 17:18
519 查看
题意:有n个硬币,刚开始所有的硬币均为不流通,然后分开n次使得n个硬币流通,小明每次只能从左到右看,不能返回,且不能用手改变位置,若看的位置是流通硬币且下一个硬币是不流通的,则小明则在心中将这两个硬币交换位置,若前后两个硬币均为流通或不流通则不交换,问每次将此时流通的硬币全部排到最后的难度是多少(因为每次看完要记住当前的位置,所以看的次数越多越难,不用看时的难度为1多看一次加一)。 思路:已经在最后的相连的流通硬币是不会交换的,然后每次将一个流通硬币换到下一个流通硬币时这个流通硬币就不能再换的,要开始换下一个流通硬币,等同于就是每次看把最后的没有在尾部的流通硬币移到尾部,即每次看的次数就是没有连接在尾部的流通硬币个数。难度+1
#include<iostream> #include<string.h> #include<stdio.h> using namespace std; #define LL long long const LL maxn = 300000+10; LL n,p[maxn],sum,vis[maxn],last; int main() { scanf("%lld",&n); for(int i=0;i<n;i++) scanf("%lld",&p[i]); last = n;sum = 0; printf("1"); for(int i=0;i<n;i++){ vis[p[i]]=1; sum++; while(vis[last]) sum --,last--; printf(" %lld",sum+1); } printf("\n"); return 0; }
相关文章推荐
- Codeforces Round #441 (Div.2) - D - Sorting the Coins xjb搞搞。
- Codeforces Round #441 (Div.2) - D - Sorting the Coins
- 【反序表+树状数组】Codeforces Round #441(Div.2)D[Sorting the Coins]题解
- #440 Div.2 D.Sorting the Coins 硬币排序问题
- CodeForces 875B ( Sorting the Coins) 难度蛮大的一道题目 题目说了一堆主要还是找规律
- Codeforces Round #441 D. Sorting the Coins
- Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) D. Sorting the Coins【规律】
- Codeforces 876 D. Sorting the Coins 模拟
- codeforces——875B —— Sorting the Coins
- Codeforces875B-Sorting the Coins
- Codeforces 875B (Round 441 D1) Sorting the Coins
- Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) D. Sorting the Coins 乱搞
- Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) D. Sorting the Coins
- 【Codeforces875B】Sorting the Coins
- Codeforces Round #441 D. Sorting the Coins(模拟)
- Codeforces Round #441 D. Sorting the Coins(线段树)
- [刷题]Codeforces Round #441(Div. 2) - D. Sorting the Coins
- Codeforces Round #441 D. Sorting the Coins
- CF D. Sorting the Coins
- codeforces 876 D. Sorting the Coins