C. Not Equal on a Segment
来源:互联网 发布:清华经管知乎 编辑:程序博客网 时间:2024/05/21 01:45
题意:
有一个数组,每次输入l, r, x,输出一个l和r之间的一个不等于x的数的下标
题解:
用另一个数组b存放每个数右边第一个和它不相等的数的下标
如果a[l] != x,则输出l,否则输出(b[l]<=r ? b[l]:-1)
另外,在计算b数组的时候还需要注意一下,如果从1到n,一个个的计算的话,还是会TLE的。所有我们计算b数组的时候需要从n到1计算,如果a[i]!=a[i+1]; b[i] = i+1。如果a[i] == a[i+1]; b[i]=b[i+1];
#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <cstdlib>#include <algorithm>#include <cmath>#include <vector>#include <set>#include <list>#include <queue>#include <map>using namespace std;#define L(i) i<<1#define R(i) i<<1|1#define INF 0x3f3f3f3f#define pi acos(-1.0)#define eps 1e-3#define maxn 1000100#define MOD 1000000007#define inf 0x3f3f3f3f3f3f3f3fint n,m;int a[maxn];int b[maxn];int main(){ int t,C = 1; //scanf("%d",&t); while(scanf("%d%d",&n,&m) != EOF) { for(int i = 1; i <= n; i++) scanf("%d",&a[i]); b[n] = -1; for(int i = n-1; i >= 1; i--) { if(a[i] == a[i+1]) b[i] = b[i+1]; else b[i] = i+1; } while(m--) { int x,y,z; scanf("%d%d%d",&x,&y,&z); if(a[x] != z) printf("%d\n",x); else { if(b[x] > y || b[x] == -1) printf("-1\n"); else printf("%d\n",b[x]); } } }}
0 0
- C. Not Equal on a Segment
- Codeforces 622 C. Not Equal on a Segment
- Educational Codeforces Round 7--C. Not Equal on a Segment
- Educational Codeforces Round 7 C. Not Equal on a Segment
- CodeForces 622 C. Not Equal on a Segment(水~)
- CF #622C. Not Equal on a Segment
- CodeForces 622C Not Equal on a Segment
- CodeForces 622C Not Equal on a Segment
- CF 622 C. Not Equal on a Segment 水吧
- Codeforces 622C Not Equal on a Segment
- CodeForces 622C F - Not Equal on a Segment
- Educational Codeforces Round 7-C. Not Equal on a Segment
- codeforces_622C. Not Equal on a Segment
- Not Equal on a Segment CodeForces
- Not Equal on a Segment CodeForces
- Not Equal on a Segment CodeForces
- Not Equal on a Segment CodeForces
- codeforces622C Not Equal on a Segment
- Redis Sentinel Failover判定 源码探寻
- Java(命令行参数使用)
- 漫步微积分三十一——定积分的直观含义
- Kafka分布式环境搭建
- C#笔记 2016 8月29号 类和结构体的讲解
- C. Not Equal on a Segment
- cf645c Money Transfers(贪心)
- Java中使用AES对数据进行加密
- 在Windows下配置svn服务端钩子程序(部分)
- 第三篇《iOS CoreData创建managedObjectContext失败》
- 继承中的语法检查器
- R语言连接hbase问题疑解
- iOS开发:常用控件UIScrollView
- SSM:日期Date类型无法直接入库