用map和两个数组保存和一个数左右距离最近相同的数的位置

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <map>
#define FRER() freopen("in.txt","r",stdin)
#define FREW() freopen("out.txt","w",stdout)
#define go int T;cin>>T;while(T--)
using namespace std;
const int maxn = 2e5 + 7;
int a[maxn];
map<int,int> cur1;
map<int,int> cur2;
int Left[maxn];
int Right[maxn];
bool judge(int l,int r){if(r-l<=1) return true;int i = l , j = r-1;int pos = -1;while(i<=j){if(Left[i]<l&&Right[i]>=r){pos = i;break;}if(Left[j]<l&&Right[j]>=r){pos = j;break;}i++;j--;}if(pos==-1) return false;return judge(l, pos)&&judge(pos+1, r);return true;
}
int main(){//FRER();//FREW();int n;go{cur1.clear();cur2.clear();scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);//cout<<cur1[a[i]]<<"**"<<endl;if(!cur1[a[i]]) Left[i] = -1;else Left[i] = cur1[a[i]];cur1[a[i]] = i;}for(int i=n;i>=1;i--){//cout<<cur2[a[i]]<<"**"<<endl;if(!cur2[a[i]]) Right[i] = 0x3f3f3f3f;else Right[i] = cur2[a[i]];cur2[a[i]] = i;}
//        for(int i=1;i<=n;i++){
//            cout<<Left[i]<<" "<<Right[i]<<endl;
//        }printf("%s\n",judge(1, n+1)?"non-boring":"boring");}
}

转载于:https://www.cnblogs.com/seven7777777/p/10278655.html

UVA 1608 Non-boring sequences(瞎搞)相关推荐

  1. [JZOJ5281]钦点题解--瞎搞+链表

    [JZOJ5281]钦点题解--瞎搞+链表 题目链接 于 暴 力 过 分析 第一眼: 模拟美滋滋?! 然后数据范围...不太对 naiive模拟30pts 然后你交换字符串指针60pts 然后发现可以 ...

  2. android重置系统,安卓手机越用越卡,恢复出厂设置真有用?别瞎搞,看完就明白了!...

    安卓手机越用越卡,恢复出厂设置真有用?别瞎搞,看完就明白了! 现在手机的价格逐渐的开始上升,一部好一点的手机价格还是比较贵的,所以很多人想要节省更多的换机支出,都会想要购买到一款可以使用的比较久的手机 ...

  3. HDU5971【瞎搞】

    题意:略(忙着准备文化课...明天期中考啊.... 思路: 正解就是染色,2-sat搞: AC代码(虽然是错误的...数据水(过踏马的也行啊,起码打脸他啊!) 4 3 1 0 1 2 2 3 3 4 ...

  4. HDU 5600(瞎搞)

    第一场Bestcoder居然爆零..果然是too naive..小聪明全部直接输出"YES"过了pretest,结果被叉也是&%$% 找到规律传递下就好.后来看官方题解感觉 ...

  5. HDU 4923 Room and Moor(瞎搞题)

    瞎搞题啊.找出1 1 0 0这样的序列,然后存起来,这样的情况下最好的选择是1的个数除以这段的总和. 然后从前向后扫一遍.变扫边进行合并.每次合并.合并的是他的前驱.这样到最后从t-1找出的那条链就是 ...

  6. 别再瞎搞数仓了!BAT内部大神:数据仓库不是谁都可以建的

    在我没有进互联网之前,我一直以为数据仓库是所有企业进行数据资产管理的必备工作,但直到我去了很多家企业搞数据之后才发现,原来并不是所有的企业都适合做数据仓库,更不要说数据中台了. 很多企业现在做数据仓库 ...

  7. Wannafly交流赛1: C. 腰带图(瞎搞)

    链接:https://www.nowcoder.com/acm/contest/69/C 来源:牛客网 题目描述 一个n个点m条边的无向图,它若满足以下性质,我们就称它为腰带图: 1.n为>=6 ...

  8. 我的瞎搞开发工具集以及对一些工具的比较

    本文的目的是作为一个记录,不引战,同时为有同样瞎搞爱好者提供一个学习思路--尽量全部推荐和使用免费开源工具,减少版权纠纷,降低学习成本,大概算有用吧 我的技术栈: 实际上有很多并不是很熟,请酌情参考 ...

  9. 使用jsdelivr时不要瞎搞

    8月15日jsdelivr在官网更新了使用条款.虽然不清楚具体更新了哪些内容,但是注意到这几个处被很多人忽略了.瞎搞很容易被jsdelivr阻断连接.以下是需要注意的这几个处. 4. Prohibit ...

最新文章

  1. 【智能驾驶】自动驾驶深度感知技术对车和行人的检测
  2. Java7 java.util.concurrent 并发包计划
  3. 计算机网络教学重点突破,武汉理工大学计算机网络复习重点教学内容(34页)-原创力文档...
  4. python3.7游戏_python3.7+django环境搭建
  5. 随机化算法-----模拟退火
  6. c语言readline库6,readline-6.3 之arm平台交叉编译
  7. Flask 蓝图,数据库链接
  8. leetcode--数组(Easy)
  9. 数据算法之快速排序(quickSort)的Java实现
  10. 如何用python画矿物分布地图_python怎么画出分布图?
  11. java 集合转字符串工具类,浅谈常用字符串与集合类转换的工具类
  12. 数据库原理知识点总结一
  13. 一年时间,拿到了人生中的第一个20万
  14. 什么是X11-Forwarding
  15. 工业互联网+危化安全生产综合管理平台怎样建
  16. 2惠普暗影精灵恢复出厂设置
  17. 超级详细配置SSM (Intellij idea + Maven + Spring + SpringMVC + MyBatis + c3p0 )
  18. 内存指令不能written
  19. 均值滤波,中值滤波,最大最小值滤波
  20. 如何查看html的字体,如何检测网页中使用了哪种定义的字体?

热门文章

  1. CF623E Transforming Sequence
  2. 在Windows上编译最新版本的Hashcat
  3. Spark记录-Scala语法基础
  4. 3.如何安装Apache Spark
  5. Linux MySQL5.5的安装
  6. Asp.Net中判断是否登录,及是否有权限?
  7. zz Microsoft Chart Controls for Microsoft .NET Framework 3.5
  8. 活动目录ADSI实现添加系统帐号问题!!!
  9. 射频MOS管和三极管优缺点对比
  10. android多媒体编程题库,android 仿猿题库答题UI