首页 > 其他分享 >luogu P2757 [国家集训队]等差子序列

luogu P2757 [国家集训队]等差子序列

时间:2023-01-06 21:44:25浏览次数:72  
标签:P2757 le luogu mid vis 哈希 差子 国家集训队

Link

题解

降智了。。。

首先我们不需要关心 \(Len\) 是多少,只需要找到长度为 \(3\) 的等差子序列就行了。

然后就枚举中点 \(mid\),看看存不存在 \(l<mid<r\) 使得 \(a_{mid}-a_l=a_r-a_{mid}\) 就行了。

这等价于是否存在 \(a_{mid}+k\) 和 \(a_{mid}-k\) 分别在 \(a_{mid}\) 的两边。

把它转化一下变成 check \(a_{mid}+k\) 和 \(a_{mid}-k\) 是否都在 \(a_{mid}\) 的一侧。

这个好做,我们只考虑 \(a_{mid}\) 左边的元素,设 \(vis_i\) 为 \(i\) 是否在 \(a_{mid}\) 左侧,那么需要满足 \(vis_{a_{mid}-k}=vis_{a_{mid}+k}\ (1\le a_{mid}-k\le a_{mid}+k\le n)\)

这个好办,把 \(01\) 序列转成哈希的形式,直接树状数组维护正反区间的哈希值即可,check 就直接提取出正反两个区间的哈希值判断。

时间复杂度:\(O(Tn\log n)\)

AC Code

https://www.luogu.com.cn/record/98864704

标签:P2757,le,luogu,mid,vis,哈希,差子,国家集训队
From: https://www.cnblogs.com/CCPSDCGK/p/17031662.html

相关文章

  • 题解 : Luogu P2197 【模板】nim 游戏
    题目链接:link结论如果$a_1\oplusa_2\oplus...\oplusa_n\not=0$,则先手必胜证明操作到最后时,每堆石子数都是\(0\),\(0\oplus0\oplus...\oplus0=0......
  • Luogu P4178 Tree
    LuoguP4178Tree难度:省选/NOI-标签:点分治\(\mathtt{blog}\)\(n\)个点的树,边\((u_i,v_i)\)有边权\(w_i\),询问距离\(\lek\)的点对数量。数据范围:\(n\le4\times......
  • POJ 2114 Boatherds / Luogu P3806 【模板】点分治1
    POJ2114Boatherds/LuoguP3806【模板】点分治1难度:\(\mathtt{?}\)/省选/NOI-标签:点分治\(\mathtt{blog}\)\(n\)个点的树,边\((u_i,v_i)\)有边权\(w_i\),\(m\)......
  • P1829 [国家集训队]Crash的数字表格 / JZPTAB
    莫比乌斯反演\(\color{red}{f(n)=\sum\limits_{d|n}g(d)\Leftrightarrowg(n)=\sum\limits_{d|n}\mu(d)f(\dfrac{n}{d})}\)\(f(n),g(n)\)均为积性函数。\(f(n)\)称为......
  • Luogu P5676 [GZOI2017] 小z玩游戏
    P5676[GZOI2017]小z玩游戏难度:提高+/省选-标签:Tarjan建图\(\mathtt{blog}\)有\(n\)组数\((w_i,e_i)\),如果当前数值为\(w_i\)即可改变为\(e_i\),如果当前数值......
  • 【题解】P1527 [国家集训队]矩阵乘法(整体二分)
    [国家集训队]矩阵乘法题目描述给你一个\(n\timesn\)的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第\(k\)小数。输入格式第一行有两个整数,分别表示矩阵大小\(n......
  • Luogu6620 组合数问题 - 第二类斯特林数 -
    题目链接:https://www.luogu.com.cn/problem/P6620题解:其实就一个式子证明可以利用这个式子找一下规律$$k\binom{n}{k}=n\binom{n-1}{k-1}$$回到原题,把多项式拆开之......
  • Luogu4043 支线剧情 - 费用流 -
    题目链接:https://www.luogu.com.cn/problem/P4043题意:求图一个的路径并,使得所有边都包含且所有路径的权值之和最小,而且路径都是从1开始的题解:每条边都必须经过,容量设一......
  • luogu P4002 [清华集训2017]生成树计数
    题面传送门容易想到放到prufer序列上,变成下面的形式。\(\sum\limits_{\sumc_i=n-2}{\frac{(n-2)!}{\prod\limits_{i=1}^{n}{c_i!}}\prod\limits_{i=1}^{n}{a_i^{c_i+1}(......
  • luogu P4565 [CTSC2018]暴力写挂
    题面传送门神tm部分分可过。首先这个式子先两倍变成\(d_x+d_y+dist(x,y)-2d'_{LCA(x,y)}\)如果我们按照情报中心那题的方法,枚举\(LCA(x,y)\),将\(d_x\)看成\(x\)的点权,\(......