博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #441 D. Sorting the Coins(模拟)
阅读量:4307 次
发布时间:2019-06-06

本文共 1048 字,大约阅读时间需要 3 分钟。

题意:

题意真是难懂,就是给一串序列,第i次操作会在p[x](1<=x<=i)这些位置放上硬币,然后从左到右观察,如果第i个位置有硬币但第i+1个位置没有硬币,那么互换,然后继续从第i+1个硬币开始看。直到不需要交换,需要计算出到终极状态需要多少步。

 

思路:

模拟。

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 using namespace std;12 typedef long long ll;13 typedef pair
pll;14 const int INF = 0x3f3f3f3f;15 const int maxn = 300000+5;16 17 int n;18 int p[maxn];19 int a[maxn];20 vector
ans;21 22 int main()23 {24 //freopen("in.txt","r",stdin);25 while(~scanf("%d",&n))26 {27 ans.clear();28 memset(a,0,sizeof(a));29 for(int i=1;i<=n;i++) scanf("%d",&p[i]);30 int max_right=n;31 int cnt=0;32 for(int i=1;i<=n;i++)33 {34 a[p[i]]=1;35 if(p[i]==max_right)36 {37 for(int j=max_right-1;j>=1;j--)38 {39 if(!a[j]) {max_right=j;break;}40 else cnt--;41 }42 }43 else44 {45 cnt++;46 }47 ans.push_back(cnt+1);48 }49 printf("1");50 for(int i=0;i

 

转载于:https://www.cnblogs.com/zyb993963526/p/7679291.html

你可能感兴趣的文章
HTTPS
查看>>
git add . git add -u git add -A区别
查看>>
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>
Laravel中的$loop
查看>>
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>
Laravel 操作redis的各种数据类型
查看>>
Laravel框架学习笔记之任务调度(定时任务)
查看>>
laravel 定时任务秒级执行
查看>>
浅析 Laravel 官方文档推荐的 Nginx 配置
查看>>
Swagger在Laravel项目中的使用
查看>>
Laravel 的生命周期
查看>>
CentOS Docker 安装
查看>>
Nginx
查看>>
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>