题目1496:数列区间
来源:互联网 发布:淘宝实时交易量 编辑:程序博客网 时间:2024/05/29 16:04
#include <cstdio>#include <iostream>#include <algorithm>#include <cstring> using namespace std;#define MAXN 1000005#define MAXM 100005struct Op{ int l,r;};int num[MAXN];int next[MAXN];//next[i]=j;表示第i位之后的 第一个0出现在j这个位置上;Op op[MAXM];int n,m; int main(){ //freopen("in.txt","r",stdin); while(scanf("%d%d",&n,&m)!=EOF) { memset(num,0,sizeof(num)); //cout<<"n="<<n<<"m="<<m<<endl; for(int i=1;i<=n;i++) { next[i] = i+1; } for(int i=1;i<=m;i++) { scanf("%d%d",&op[i].l,&op[i].r); } for(int i=m;i>=1;i--) { for(int j = op[i].l;j<=op[i].r; ) { //cout<<"main"<<endl; if(num[j] == 0) { num[j] = i; } int temp = next[j]; next[j] = next[op[i].r]; j = temp; } /* for(int i=1;i<=n;i++) { printf("%d ",num[i]); } printf("\n"); */ } int ans = 0,cnt=1; for(int i=2;i<=n;i++) { if(num[i]==num[i-1]&&num[i]!=0) { cnt ++; } else { if(ans < cnt) { ans = cnt ; } cnt = 1; } } if(ans < cnt) { ans = cnt; } printf("%d\n",ans); } return 0;} /************************************************************** Problem: 1496 User: cust123 Language: C++ Result: Accepted Time:380 ms Memory:10112 kb****************************************************************/
0 0
- 题目1496:数列区间
- 题目1496:数列区间
- 九度OJ 题目1496:数列区间 (线段树 区间合并 +成段更新)
- pat 1496 数列区间//线段树
- 题目:斐波纳契数列
- 题目_数列有序
- 区间DP 洛谷 P1799 数列
- 题目1554:区间问题
- 题目1554:区间问题
- 题目:合并区间
- 题目:插入区间
- 题目:区间最小数
- 题目:区间求和 I
- 【题目31】Fibonacci数列问题
- 天勤OJ 题目1403: 数列
- 题目1081:递推数列
- 题目1081:递推数列
- 题目1081:递推数列
- vim 编辑器常用命令总结
- 模拟实现list(iterator)
- 网页切图div+css命名
- 题目1495:关键点
- 4月28日
- 题目1496:数列区间
- 在linux(ubuntu 14.04LTS)下安装matlab 2012a 32bit
- hdu 3416 Marriage Match IV 【图论-网络流-最短路+最大流(spfa + Dinic)】
- 关于unity CharcterController的碰撞检测
- 学习链接
- cmake _GLIBCXX_USE_CXX11_ABI undefined reference std::__cxx11::basic_string
- CPU卡程序设计实例(十三)终端向ESAM发送数据
- 利用NFS挂载网络主机路径
- tw记账