题意:
一个无重复数字的序列,能否反转一个区间使其成为单增序列。
解析:
记录每个点的值和初始下标,然后排序。
对于排好序的序列进行遍历,找出第一段和原序列下标不同的区间并且标记(此区间即为翻转的区间),如果还出现其他的不同区间则不符题意。
- #include
- using namespace std;
- #define int long long
- const int N=2e5+5;
- int t,n,s;
- struct node{
- int id,k;
- bool operator<(const node& t)const{
- return k
- }
- }a[N];
- signed main(){
- scanf("%lld",&n);
- for(int i=1;i<=n;i++){
- scanf("%lld",&a[i].k);
- a[i].id=i;
- }
- sort(a+1,a+n+1);
- int l=-1,r,f=1;
- for(int i=1;i
- if(a[i].id!=i){
- s=1;
- if(l==-1){
- l=i,r=i;
- int p=a[i].id;
- for(int j=i+1;j<=n;j++){
- if(a[j].id==p-1) r++,p--;
- else break;
- }
- i=r;
- }
- else{
- f=0;
- break;
- }
- }
- }
- if(!s) l=r=1;
- if(f) cout<<"yes"<
" "< - else cout<<"no";
- return 0;
- }
-
相关阅读:
zemax慧差与消慧差
多人开发小程序设置体验版的痛点
实在智能受邀参加第14届珠中江数字化应用大会,AI赋能智能制造,共话“湾区经验”
若依启动run-modules-system.bat报错问题解决方案
创新案例分享 | 完善社会治理制度,构建开放融合的现代化平台
linux安装配置 flume
win10怎么安装iis
GBase 8c V3.0.0数据类型——安全函数
MyBatisPlus的in方法入参数量过多导致的JVM频繁FullGC案例
OmniGraffle Pro for Mac 中文正式版(附注册码) 苹果电脑 思维导图软件
-
原文地址:https://blog.csdn.net/JungleZRD/article/details/133579161