CodeForces 279C
来源:互联网 发布:新网域名管理 编辑:程序博客网 时间:2024/06/06 21:17
题解思路:
求区间是否是单调或先增后减中间可以有平的,那么前后扫一遍然后看左右边界延伸递增长度后是否相差<=1就可以了。
#include <cstdio> #include<iostream> #include <cstring> #include <cmath> #include <algorithm> #include<vector>using namespace std;typedef long long ll; const int mx = 1e5+10;int n,m;int a[mx];int f[mx],b[mx];int main(){f[0] = 1;while(~scanf("%d%d",&n,&m)){b[n+1] = 1;for(int i=1;i<=n;i++) scanf("%d",a+i);for(int i=1;i<=n;i++){if(f[i-1]==1) {f[i] = 1;for(int j=i+1;j<=n;j++)if(a[j]>=a[j-1]) f[i]++;else break;}else f[i] = f[i-1]-1;}for(int i=n;i>=1;i--){if(b[i+1]==1){b[i] = 1;for(int j=i-1;j>0;j--)if(a[j]>=a[j+1]) b[i]++;else break;}else b[i] = b[i+1] - 1;}int l,r,L,R;while(m--){scanf("%d%d",&l,&r);l = l+f[l]-1;r = r-b[r]+1;if(r-l<=1) puts("Yes");else puts("No");}}return 0; }
阅读全文
0 0
- Codeforces 279C
- CodeForces 279C
- codeforces 279C C. Ladder(rmq+预处理)
- Codeforces Round #279 (Div. 2) C
- [CodeForces 279C] Ladder (DP)
- codeforces 279C Ladder(数据技巧)
- Codeforces-340-C(c++)
- Codeforces-507-C(c++)
- CodeForces 731C C
- CodeForces-612C C
- CODEFORCES 265C CODEFORCES, 265C
- codeforces #78 div2 C
- Codeforces 117C Cycle
- CodeForces 209C
- CodeForces 156C Cipher
- codeforces 148 div2 C
- codeforces 242C
- Codeforces-234C Weather
- Linux输入子系统
- 又话指针
- Centos7 安装netcat
- 确定自己的技术路线
- 动态修改日志级别
- CodeForces 279C
- 回溯——“子集之和”问题
- VS中定义的DEBUG常量
- 单词分割(Word Splitting)
- 規約に関する
- CorelDRAW图标制作让设计变的如此简单明了
- Python实现Excel文件的读写操作
- bzoj4326 & UOJ150【NOIP2015】运输计划 ( 树上差分 + lca )
- python爬虫(Python读取TXT文件中的URL并下载文件)