题目链接:点击查看

题目大意:先给出一个长度为n的数列,然后给出m次询问,每次询问的格式是l,r,x,其中[l,r]代表的是数列的下标范围,要求我们输出任意一个在区间[l,r]内值不等于x的下标

题目分析:我看网上好多人用线段树维护区间最大值和最小值来做的这个题目,我感觉真的有点小题大做了。。这个题目第一眼看上去是有点不知道该怎么办的,因为我是补题的时候看到的这个题目,能看到题目标签,是数据结构,于是我就想,用set,map能不能乱搞一下,发现没什么进展,想了想并查集呢?好像有那么点意思,然后就想到了用并查集的思想,做一个连接,开一个pre数组,pre[i]代表的是在下标i之前离i最近的一个,不等于a[i]的下标,也不能说是并查集吧,有点动态规划的思想,这样O(n)预处理出来一个pre数组之后,就可以O(1)查询了,对于输入的l和r:首先判断一下a[r]是否等于x,若不等于直接输出r即可,若等于的话,判断一下pre[r]是否小于l,若小于l的话,就是无解了,直接输出-1,否则就直接输出pre[r]

然后实现就好了

代码:

#include<iostream>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<climits>
#include<cmath>
#include<cctype>
#include<stack>
#include<queue>
#include<list>
#include<vector>
#include<set>
#include<map>
#include<sstream>
using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=2e5+100;int a[N],pre[N];int main()
{
//  freopen("input.txt","r",stdin);
//  ios::sync_with_stdio(false);int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d",a+i);for(int i=1;i<=n;i++)if(a[i]!=a[i-1])pre[i]=i-1;elsepre[i]=pre[i-1];while(m--){int l,r,x;scanf("%d%d%d",&l,&r,&x);if(a[r]!=x)printf("%d\n",r);else if(pre[r]<l)printf("%d\n",-1);elseprintf("%d\n",pre[r]);}return 0;
}

CodeForces - 622C Not Equal on a Segment(思维+水题)相关推荐

  1. codeforces 1060a(思维水题)

    Let's call a string a phone number if it has length 11 and fits the pattern "8xxxxxxxxxx", ...

  2. FZU 2230 2230 翻翻棋(思维水题)

    Problem Description 象棋翻翻棋(暗棋)中双方在4*8的格子中交战,有时候最后会只剩下帅和将.根据暗棋的规则,棋子只能上下左右移动,且相同的级别下,主动移动到地方棋子方将吃掉对方的棋 ...

  3. CF Round #426 (Div. 2) The Useless Toy 思维 水题

    题目链接: http://codeforces.com/contest/834/problem/A 题目描述: 输入起始状态和结束状态和数列长度, 判断旋转方向是顺时针逆时针还是不合理 解题思路: 长 ...

  4. Codeforces//Good Bye 2013//A. New Year Candles 水题

    第一次在Codeforces上提交题,全是英文,啊.应该是场比赛,WA了两次,丫的.哎,什么时候才能不做水题了呢.Happy New Year!Zhou Ping!努力奋斗! 题目链接:A. New ...

  5. 【CodeForces - 707B】Bakery(思维水题)

    Bakery Descriptions 玛莎想在从1到n的n个城市中开一家自己的面包店,在其中一个城市烘焙松饼. 为了在她的面包房烘焙松饼,玛莎需要从一些储存的地方建立面粉供应.只有k个仓库,位于不同 ...

  6. 【CodeForces - 1038A 】Equality (思维水题,预处理字符串)

    题干: You are given a string ss of length nn, which consists only of the first kk letters of the Latin ...

  7. 【Disturbed People】【CodeForces - 1077B】(思维水题)

    题目: There is a house with nn flats situated on the main street of Berlatov. Vova is watching this ho ...

  8. Codeforces Round #322 (Div. 2) B. Luxurious Houses 水题

    B. Luxurious Houses Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/581/pr ...

  9. Codeforces Round #352 (Div. 2) A. Summer Camp 水题

    A. Summer Camp 题目连接: http://www.codeforces.com/contest/672/problem/A Description Every year, hundred ...

最新文章

  1. RHCE6.4 rpm 安装gcc
  2. windows常用的几个操作
  3. python分割合并文件
  4. 圆形界面 开启相机_「基础篇三」手机摄影拍照界面详解
  5. java 字符串比较 == equals_Java在比较字符串的时候,equals 与== 完全一样呀?
  6. PL/Sql快速执行 insert语句的.sql文件
  7. 解决 Package test is missing dependencies for the following libraries: libcrypto.so.1.0.0
  8. webpack使用优化(基本篇
  9. Raffi Krikorian 为“在运行中进行架构重写”提供了指南
  10. itext 生成pdf 输出特殊符号_JAVA提取PDF内容及转换PDF为图片
  11. 线程和Application.DoEvents()
  12. 计算机网络技术专业一体化课程方案,计算机网络技术课程革新中“一体化”模式的应用研究...
  13. Laravel:关于with用法 OneByOne 关联(避坑)
  14. 九爷带你玩转 oracle
  15. Android系统(手机平板)根目录详解
  16. ForkJoinPool介绍
  17. 苹果 APNs 介绍
  18. 提示Microsoft office word 遇到问题需要关闭。还问是否发送错误报告。
  19. Java练习题-龟兔赛跑
  20. 数据平面开发套件:DPDK

热门文章

  1. MySQL分组查询—添加分组前筛选
  2. MySQL高级 trace工具
  3. 压力测试时候Linux系统参数的调优
  4. mybatis整体架构
  5. DefaultListableBeanFactory 对配置lazy-init 属性单态Bean 的预实例化
  6. 微服务和SOA架构的区别
  7. ThreadLocal的好处
  8. 微服务网关路由过滤作用介绍
  9. 使用ThreadLocal来解决问题
  10. Topic交换器-编写生产者