CodeForces 451B. Sort the Array
2017-02-13 21:03
127 查看
题目来源:http://codeforces.com/problemset/problem/451/B
题意:也就是给你一段序列,你只能翻转这段序列中的一段,问你是否只翻转其中的一段,使得这段序列变为升序序列
解析:从前往后找第一个不符合位置的,从后往前找,找到第一个不符合的位置,然后就翻转这一段,判断反转后的结果是否为升序序列
题意:也就是给你一段序列,你只能翻转这段序列中的一段,问你是否只翻转其中的一段,使得这段序列变为升序序列
解析:从前往后找第一个不符合位置的,从后往前找,找到第一个不符合的位置,然后就翻转这一段,判断反转后的结果是否为升序序列
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5+1000; int a[maxn]; int main(void) { int n; cin>>n; for(int i=0;i<n;i++) scanf("%d",&a[i]); int flag = 0; int l = 0,r = 0; for(int i=0;i<n-1;i++) { if(a[i]>a[i+1]) { l = i; break; } } for(int i=n-1;i>=1;i--) { if(a[i]<a[i-1]) { r = i; break; } } //reverse翻转数组 reverse(a+l,a+r+1); for(int i=0;i<n-1;i++) { if(a[i]>a[i+1]) { flag = 1; break; } } if(flag) puts("no"); else { puts("yes"); printf("%d %d\n",l+1,r+1); } return 0; }
相关文章推荐
- Oracle优化器的基础知识(二)
- MyBatis表级联立
- java输出99乘法表
- 关于CSS的几种居中
- linux环境下串口读取不了
- 2016福州大学软件工程实践调查问卷报告
- Android 7.1.1源码下载
- Window下JDK\Tomcat环境变量的配置
- Glide-占位图以及加载动画
- package.json中 npm依赖包版本前的符号的意义
- [Easy]Two Sum
- 关于jquery自定义事件
- automake - 使用 autotools 工具集
- 后缀表达式计算的代码实现
- CentOs Mysql主从复制与读写分离
- 斐波那契博弈
- hdoj1094
- 字符串匹配KMP算法中Next[]数组和Nextval[]数组求法
- c#基类继承
- 线程也疯狂----线程同步(1)