7.6 SCodeForces 622CNot Equal on a Segment
来源:互联网 发布:aws windows vpn 配置 编辑:程序博客网 时间:2024/05/11 01:47
题意:给出一个数列,m次询问,每次询问区间中与给定的数不相同的数的下标
思路:有题解说用线段树,其实不必,用一个数组存储每个数的前一个不同于自己的数的地址就好了。
代码:
#include <cstdio>#include <cstring>using namespace std;int n,m;int a[200000],b[200000];int main(){ scanf("%d%d",&n,&m); b[0]=-1; for(int i=0;i<n;i++){ scanf("%d",&a[i]); if(i){ if(a[i]!=a[i-1])b[i]=i-1; else b[i]=b[i-1]; } } for(int i=0;i<m;i++){ int l,r,v; scanf("%d%d%d",&l,&r,&v); if(n==1){ if(a[0]==v)printf("-1\n"); else printf("1\n"); continue; } l--;r--; if(b[r]<l){ if(a[r]==v)printf("-1\n"); else printf("%d\n",r+1); } else { if(a[r]==v)printf("%d\n",b[r]+1); else printf("%d\n",r+1); } } return 0;}
0 0
- 7.6 SCodeForces 622CNot Equal on a Segment
- Codeforces 622 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
- codeforces_622C. Not Equal on a Segment
- C. 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
- Codeforces 622C Not Equal on a Segment 【线段树 or dp】
- Codeforces 622C Not Equal on a Segment(线段树)
- 对操作系统的一般理解
- HTML5 基础(003_Indexed Database_2)
- effective stl 第17条: 使用“swap 技巧”除去多余的容量
- Ajax传输Json和xml数据
- HDU 5875 Function 2016 ACM/ICPC Asia Regional Dalian Online
- 7.6 SCodeForces 622CNot Equal on a Segment
- hdu5726 GCD(map+线段树)
- Android 消息处理机制1(从源码分析)
- ubuntu下卸载opencv
- nanopi m2开发板 mount:Read-only file system Android手机不能挂载读写,终极解决方案
- taglib cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'.
- LeetCode 318 Maximum Product of Word Lengths
- android studio 常见错误
- MySQL 5.5版本下my.ini内[mysqld]项中不能再写default-character-set=utf8