Unique Encryption Keys (思维题 预处理)

时间:2022-09-02 14:16:38

题目

题意:给m个数字, q次询问, 询问b到e之间如果有重复数字就输出, 没有就输出OK

思路:用f[i]数组 记录从i开始向后最近的有重复数字的 位置, 如 1 3 2 2, 则f[1] = 4;

如果离a最近的重复数字的位置 都大于b, 就说明没有重复数字。

f[]数组需要预处理,从后向前。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <map>
#define Min(a, b)((a)>(b)?(b):(a))
using namespace std;
const int maxn = +;
int a[maxn], f[maxn]; int main()
{
int m, q, b, e, i;
while(~scanf("%d%d", &m, &q))
{
if(m==&&q==)
break;
for(i = ; i <= m; i++)
scanf("%d", &a[i]);
memset(f, , sizeof(f));
map<int, int>mp;
f[m] = m+;
mp[a[m]] = m;
for(i = m-; i >=; i--)
{
if(mp[a[i]]==)
f[i] = f[i+];
else
f[i] = Min(mp[a[i]], f[i+]);
mp[a[i]] = i;
}
while(q--)
{
scanf("%d%d", &b, &e);
if(f[b]>e)
cout<<"OK"<<endl;
else
cout<<a[f[b]]<<endl;
}
}
return ;
}

Unique Encryption Keys (思维题 预处理)的更多相关文章

  1. UVALive 5881 Unique Encryption Keys (DP)

    Unique Encryption Keys 题目链接: http://acm.hust.edu.cn/vjudge/problem/26633 Description http://7xjob4.c ...

  2. Unique Encryption Keys

    The security of many ciphers strongly depends on the fact that the keys are unique and never re-used ...

  3. CF-831D Office Keys 思维题

    http://codeforces.com/contest/831/problem/D 题目大意是在一条坐标轴上,给出n个人,k把钥匙(k>=n)以及终点的坐标,所有人都可以同时运动,但不可以公 ...

  4. 计蒜客 28319&period;Interesting Integers-类似斐波那契数列-递推思维题 &lpar;Benelux Algorithm Programming Contest 2014 Final ACM-ICPC Asia Training League 暑假第一阶段第二场 I&rpar;

    I. Interesting Integers 传送门 应该是叫思维题吧,反正敲一下脑壳才知道自己哪里写错了.要敢于暴力. 这个题的题意就是给你一个数,让你逆推出递推的最开始的两个数(假设一开始的两个 ...

  5. &lbrack;NOIP2005&rsqb; 过河【Dp,思维题,缩点】

    Online Judge:Luogu P1052 Label:Dp,思维题,缩点,数学 题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子 ...

  6. &lbrack;Hdu-5155&rsqb; Harry And Magic Box&lbrack;思维题&plus;容斥,计数Dp&rsqb;

    Online Judge:Hdu5155 Label:思维题+容斥,计数Dp 题面: 题目描述 给定一个大小为\(N*M\)的神奇盒子,里面每行每列都至少有一个钻石,问可行的排列方案数.由于答案较大, ...

  7. &lbrack;UVA12235&rsqb; Help Bubu 思维题&plus;状态定义&plus;Dp

    Online Judge:UVA12235 Label:思维题,状态定义,状压Dp 题面: 题目描述 有一个书架,上面放了n本书,从左往右的第i本书的高度为h[i].定义书架的混乱度为连续等高段的个数 ...

  8. ORA-02266&colon; unique&sol;primary keys in table referenced by enabled foreign keys

    在数据库里面使用TRUNCATE命令截断一个表的数据时,遇到如下错误 SQL >TRUNCATE TABLE ESCMOWNER.SUBX_ITEM ORA-02266: unique/prim ...

  9. zoj 3778 Talented Chef&lpar;思维题&rpar;

    题目 题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间. 思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考 ...

随机推荐

  1. Mysql怎样取消错误命令

    1.补上分号. 2.quit 3.由于Mysql中,‘号和"号都是成对出现的,故当错误键入'号或"号时,需要补全另一半才能退出.

  2. js 模板引擎 - 超级强大

    本来没想写这篇文章,但是网上误导大众的文章太多了,所以今天就抽出半小时时间谈一下我对前端模板引擎的感受吧. 前端模板引擎相信大家都再熟悉不过了,市面上非常多的号称最好.最快.最牛逼的,随便就能找到一大 ...

  3. Makefile 中&colon;&equals; &quest;&equals; &plus;&equals; &equals;的差别 和条件运行

    一:在Makefile中常常看到obj-m    := scull.o和KERNELDIR ?= /lib/modules/等不同的赋值方式,如今总结他们的差别: = 是最主要的赋值 := 是覆盖之前 ...

  4. C&plus;&plus; 监测磁盘空间

    硬盘管理器 头文件 HardDiskManager.h : #if _MSC_VER > 1000 #pragma once #endif #include <windows.h> ...

  5. 7&period; Selenium的基本使用

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 32.0px "PingFang SC" } span.s1 { font: 32.0p ...

  6. SQL 如何在自增列插入指定数据

    SQL Server  中数据表往往会设置自增列,常见的比如说 首列的ID列. 往数据表插入新数据的时候,自增列是跳过的,无需插入即会按照设置的自增规则进行列增长.那么,如果我们想往自增列插入我们指定 ...

  7. Linux-iconv命令之批处理&lpar;18&rpar;

    iconv命令是用来转换文件的编码方式的,比如它可以将UTF8编码的转换成GB18030的编码,反过来也行 常用选项 -f font1 :(from)将font1型的字符编码进行转换 -t font2 ...

  8. 020&period;1&period;2 Arrays集合工具类

    内容:一些关于集合常用方法 在Java.util包里面,可以自己测试一下1.查找2.复制数组3.复制数组指定范围4.排序5.返回hash值6.数组转换成String7.数组转换成集合 Arrays.a ...

  9. &lbrack;ActionScript 3&period;0&rsqb; SharedObject的用法简介

    package com.models { import flash.net.SharedObject; /** * @author * @E-mail * @create 2015-6-12 下午2: ...

  10. React--- react 初见React 总结

    简介 react 程序代码是透明的,需要什么装什么 代码实现逻辑清晰可见 第一天 React  基础构造 分别是  继承的 React.component(继承的依赖类)/dom(dom元素)/pro ...