题面

LOJ 6287

Solution

  • 枚举中间点\(j\),题目即求是否存在\(m\)使\(a[j]-m\)与\(a[j]+m\)分别在\(j\)两侧。
  • 对于\(j\)左侧任意一个点\(i\),都将\(t[a[i]]\)赋值为1,那么若以\(j\)为中心的\(len\)最大的字符串不是回文子串,则必然有解。
  • 建2棵线段树维护哈希值即可判断回文子串

Code

#include<bits/stdc++.h>
using namespace std;
const int N=3e5+10;
const int mod=1e9+7;
const int base=31;
inline int read(){
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();}
while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
return x*f;
}
#define lc (p<<1)
#define rc (p<<1|1)
int n,a[N],b[N];
struct Tree{
int v[N<<2];
inline void change(int p,int l,int r,int x){
if(l==r){
v[p]=1;
return ;
}
int mid=(l+r)>>1;
if(x<=mid) change(lc,l,mid,x);
else change(rc,mid+1,r,x);
v[p]=(1ll*v[lc]*b[r-mid]%mod+v[rc])%mod;
}
inline int query(int p,int l,int r,int ql,int qr){
if(l>=ql&&r<=qr)
return v[p];
int mid=(l+r)>>1,ans1=0,ans2=0;
if(ql<=mid) ans1=query(lc,l,mid,ql,qr);
if(qr>mid) ans2=query(rc,mid+1,r,ql,qr);
if(ql<=mid&&qr>mid) return (1ll*ans1*b[min(qr,r)-mid]%mod+ans2)%mod;
else if(ql<=mid) return ans1;
else return ans2;
}
}L,R;
int main(){
n=read();
for(int i=1;i<=n;++i) a[i]=read();
b[0]=1;for(int i=1;i<=n;++i) b[i]=1ll*b[i-1]*base%mod;
for(int i=1;i<=n;++i){
int len=min(a[i],n-a[i]+1);
if(L.query(1,1,n,a[i],a[i]+len-1)!=R.query(1,1,n,n-a[i]+1,n-a[i]+len)){
puts("YES");
return 0;
}
L.change(1,1,n,a[i]);
R.change(1,1,n,n-a[i]+1);
}
puts("NO");
return 0;
}

「LOJ 6287」诗歌的更多相关文章

  1. 「LOJ#10051」「一本通 2.3 例 3」Nikitosh 和异或(Trie

    题目描述 原题来自:CODECHEF September Challenge 2015 REBXOR 1​​≤r​1​​<l​2​​≤r​2​​≤N,x⨁yx\bigoplus yx⨁y 表示 ...

  2. 「LOJ#10056」「一本通 2.3 练习 5」The XOR-longest Path (Trie

    #10056. 「一本通 2.3 练习 5」The XOR-longest Path 题目描述 原题来自:POJ 3764 给定一棵 nnn 个点的带权树,求树上最长的异或和路径. 输入格式 第一行一 ...

  3. 「LOJ#10050」「一本通 2.3 例 2」The XOR Largest Pair (Trie

    题目描述 在给定的 $N$ 个整数 $A_1,A_2,A_3...A_n$ 中选出两个进行异或运算,得到的结果最大是多少? 输入格式 第一行一个整数$N$. 第二行$N$个整数$A_i$. 输出格式 ...

  4. 「CF779B」「LOJ#10201.」「一本通 6.2 练习 4」Sherlock and His Girlfriend(埃氏筛

    题目描述 原题来自:Codeforces Round #400 B. Sherlock 有了一个新女友(这太不像他了!).情人节到了,他想送给女友一些珠宝当做礼物. 他买了 nnn 件珠宝.第 iii ...

  5. 「LOJ#10072」「一本通 3.2 例 1」Sightseeing Trip(无向图最小环问题)(Floyd

    题目描述 原题来自:CEOI 1999 给定一张无向图,求图中一个至少包含 333 个点的环,环上的节点不重复,并且环上的边的长度之和最小.该问题称为无向图的最小环问题.在本题中,你需要输出最小环的方 ...

  6. 「LOJ#10068」「一本通 3.1 练习 3」秘密的牛奶运输(次小生成树

    题目描述 Farmer John 要把他的牛奶运输到各个销售点.运输过程中,可以先把牛奶运输到一些销售点,再由这些销售点分别运输到其他销售点. 运输的总距离越小,运输的成本也就越低.低成本的运输是 F ...

  7. 「LOJ#10045」「一本通 2.2 练习 1」Radio Transmission (KMP

    题目描述 原题来自:BalticOI 2009 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. 输入格式 第一行给出字符串的长度 L,第 ...

  8. 「LOJ#10042」「一本通 2.1 练习 8」收集雪花 (map

    题目描述 不同的雪花往往有不同的形状.在北方的同学想将雪花收集起来,作为礼物送给在南方的同学们.一共有 n 个时刻,给出每个时刻下落雪花的形状,用不同的整数表示不同的形状.在收集的过程中,同学们不希望 ...

  9. 「LOJ#10036」「一本通 2.1 练习 2」Seek the Name, Seek the Fame (Hash

    题目描述 原题来自:POJ 2752 给定若干字符串(这些字符串总长 ≤4×105 \le 4\times 10^5 ≤4×105),在每个字符串中求出所有既是前缀又是后缀的子串长度. 例如:abab ...

随机推荐

  1. 050_Dos命令

    目录 Dos命令 打开Dos控制台 管理员方式运行 常用的Dos命令 Dos命令 打开Dos控制台 开始->附件->命令提示符 Window+R 输入cmd(推荐使用) 在任意文件夹下-& ...

  2. 【Aspose.Words for Java】 对word文档,增加页眉,页脚,插入内容区图像,

    一.环境准备 jar包:aspose-words-20.4.jar 或者去官方网站下载: 官方网站:https://www.aspose.com/ 下载地址:https://downloads.asp ...

  3. EXCEL计数时间差--分钟数

  4. Java学习的第五十一天

    1.例9.3 析构函数 public class Cjava { public static void main(String[]args) { Student s1=new Student(1001 ...

  5. python机器学习实现K-近邻算法(KNN)

    机器学习 K-近邻算法(KNN) 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 后打开浏览器输入网址htt ...

  6. [Luogu P1122]最大子树和 (简单树形DP)

    题面 传送门:https://www.luogu.org/problemnew/show/P1122 Solution 这是一道简单的树形DP题. 首先,我们可以转换一下题面,可以发现,题目要求我们求 ...

  7. 直播平台搭建之音视频开发:认识主流视频编码技术H.264

    H.264简介 什么是H.264?H.264是一种高性能的视频编解码技术.目前国际上制定视频编解码技术的组织有两个,一个是"国际电联",它制定的标准有H.261.H.263.H.2 ...

  8. leetcode116:search-for-a-range

    题目描述 给出一个有序数组,请在数组中找出目标值的起始位置和结束位置 你的算法的时间复杂度应该在O(log n)之内 如果数组中不存在目标,返回[-1, -1]. 例如: 给出的数组是[5, 7, 7 ...

  9. div 内元素的垂直居中

    小主今天偷点懒利用上班时间整理一下 div 内元素的居中(不论垂直还是水平通用)问题的解决方法: 本文的中心是利用 css 中的 display属性:通常的方便的是使用 Flex/Grid 属性,今天 ...

  10. cookie的简单介绍

    思考: HTTP是一个无状态的协议,当一个客户端向服务端发送请求,在服务器返回响应后,连接就关闭了,在服务器端不保留连接信息. 当客户端发送多次请求且需要相同的请求参数的时候,应该如何处理?这个时候就 ...