![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段
文章平均质量分 56
Freopen
这个作者很懒,什么都没留下…
展开
-
Codeforces 1034D Intervals of Intervals
题目二分被选中的区间价值的最小值MMM。考虑求出对于每个RRR最大的LLL使得[L,R][L,R][L,R]的价值≥M\geq M≥M发现这个最大的LLL随RRR递增而单调递增。所以就在移动最大的LLL和RRR的时候同时维护[L,R][L,R][L,R]的价值即可。R−1→RR -1\rightarrow RR−1→R的时候,把R的区间插入ODT(珂朵莉树),那么就会总共出现O(n)O(...原创 2020-04-27 22:09:35 · 161 阅读 · 0 评论 -
#6544. 联通块(套路--线段树)
题意: 给你一颗nnn个节点的树,问有多少个区间 [L,R](L<=R)[L,R] (L<=R)[L,R](L<=R) 满足 区间内的点在树上恰好是一个联通块。n<=3e5n<=3e5n<=3e5题解:好套路啊。树上一个点集为联通块−>->−>树上一个点集的导出子图中点数-边数=1=1=1−>->−>按序加入动态维护区...原创 2019-12-15 11:50:54 · 401 阅读 · 0 评论 -
BZOJ 3772: 精神污染
兵库县位于日本列岛的中央位置,北临日本海,南面濑户内海直通太平洋,中央部位是森林和山地,与拥有关西机场的大阪府比邻而居,是关西地区面积最大的县,是集经济和文化于一体的一大地区,是日本西部门户,海陆空交通设施发达。濑户内海沿岸气候温暖,多晴天,有日本少见的贸易良港神户港所在的神户市和曾是豪族城邑“城下町”的姬路市等大城市,还有以疗养地而闻名的六甲山地等。兵库县官方也大力发展旅游,为了方便,他们在县...原创 2019-03-21 10:58:54 · 201 阅读 · 0 评论 -
51nod 2014 小朋友的笑话(势能分析线段树)
小O是一个很萌很萌的女孩子。有一天小O叫了很多很多萌萌哒小朋友到家里来玩。由于太无聊了,她们开始讲笑话。总共有N个小朋友排成一排,编号1~N。在某个时刻,会有编号为xi的小朋友看到了笑话li,然后她会把这个笑话讲出来,与她距离不超过ki的小朋友都会听到这个笑话。当一个小朋友听到一个笑话时,如果她是第一次听得到这个笑话,那么她会觉得这个笑话非常好笑,笑的停不下来。如果她听到之前就是在笑的她...原创 2019-03-24 19:24:16 · 610 阅读 · 0 评论 -
BZOJ 3489: A simple rmq problem(主席树+二维线段树)
题目三维偏序。主席树套二维线段树。namespace真舒服。比KD树慢3倍。AC Code:#include<bits/stdc++.h>#define maxn 100005using namespace std;int n,m,a[maxn],pre[maxn],loc[maxn];vector<pair<int,int> >G[max...原创 2019-03-21 15:03:36 · 169 阅读 · 0 评论 -
BZOJ 1758: [Wc2010]重建计划(点分治+迭代)
题目不敢挂LG。点分治常数太大洛谷上过不了。。。。1.直接求边数为lll的路径的最大路径长度,这个点分治做不了。因为合并答案的时候是O(n2)O(n^2)O(n2)跑不掉的。唯一的特例是你写FFT。和和和卷积?不存在的。2.二分答案判定有无[L,U][L,U][L,U]的路径长度大于边数*二分的答案。在子树合并时相当于从小到大枚举一个子树深度,另一个子树深度的上限和下限都下降,求最大...原创 2019-03-25 16:27:06 · 185 阅读 · 0 评论 -
BZOJ 1107: [POI2007]驾驶考试egz(树状数组LIS)
题目大佬的讲解其实就是发现能够作为起点的道路一定形成一段区间。这段区间的左端点能到达n,右端点能到达1,那么这段区间内的所有道路都能到任何一条路。那么只需要对左端点和右端点做文章即可。注意two-pointers的运用来代替二分。AC Code(BZOJ 的小常数O(nlogn)O(n\log n)O(nlogn)都要跑700ms。。。无语了):#include<bits/stdc...原创 2019-03-25 17:44:52 · 168 阅读 · 0 评论 -
BZOJ 3881: [Coci2015]Divljak(AC自动机+树链的并+BIT)
Alice有n个字符串S1,S2...SnS_1,S_2...S_nS1,S2...Sn,Bob有一个字符串集合TTT,一开始集合是空的。接下来会发生qqq个操作,操作有两种形式:“1 P”,Bob往自己的集合里添加了一个字符串PPP。“2 x”,Alice询问Bob,集合T中有多少个字符串包含串SxS_xSx。(我们称串AAA包含串BBB,当且仅当BBB是AAA的子串)Bob遇到...原创 2019-03-25 20:43:01 · 174 阅读 · 0 评论 -
BZOJ 4231 回忆树(AC自动机+BIT+KMP)
回忆树是树。具体来说,是n个点n-1条边的无向连通图,点标号为1~n,每条边上有一个字符(出于简化目的,我们认为只有小写字母)。对一棵回忆树来说,回忆当然是少不了的。一次回忆是这样的:你想起过往,触及心底…唔,不对,我们要说题目。这题中我们认为回忆是这样的:给定2个点u,v(u可能等于v)和一个非空字符串s,问从u到v的简单路径上的所有边按照到u的距离从小到大的顺序排列后,边上的字符依次...原创 2019-04-02 14:33:57 · 383 阅读 · 0 评论 -
Codeforces F - Serval and Bonus Problem
大佬链接Beta函数是个什么鬼。。这个式子居然有大佬能化出来真是跪了。。。。。。注意文中的f[i]=1if[i] = \frac {1} {i}f[i]=i1是错的。看代码就知道是f[i]=1i!f[i] = \frac {1} {i!}f[i]=i!1AC Code:#include<bits/stdc++.h>#define maxn 100005#define...原创 2019-04-27 22:33:34 · 229 阅读 · 0 评论 -
BZOJ 4009: [HNOI2015]接水果(整体二分套二维偏序)
题目表示这种题好套路啊。原题如果注意到一条路径包含另一条路径,那么在dfs序上第一条路径的端点与第二条路径的端点是有一个偏序关系的。然后就变成了二分答案+三维偏序。因为可以离线,将二分答案和一维整合起来变成整体二分O(nlogn)O(n\log n)O(nlogn)。剩下两维就是一个二维偏序,排序后树状数组维护O(logn)O(\log n)O(logn)。一共O(nlog2n...原创 2019-03-20 22:25:01 · 152 阅读 · 0 评论 -
BZOJ 3658 Jabberwocky(树状数组+双向链表)
平面上有n个点,每个点有k种颜色中的一个。你可以选择一条水平的线段获得在其上方或其下方的所有点。请求出你最多能够得到多少点,使得获得的点并不包含所有的颜色。我好弱啊。发现我们如果枚举上边界。那么我们的答案区间一定在上边界下的两个相邻的同色点(或左边界和某色点,或某色点和右边界)之间。发现上边界从上往下的过程中只会删除。那么使用双向链表O(1)O(1)O(1)维护相邻的同色点。树状数...原创 2019-03-20 17:23:28 · 204 阅读 · 0 评论 -
雅礼集训Day2T3 操作operation
长度为n的01串,m次询问,每次问一个区间,你选择P个长度为K的子区间,每个子区间的数会被取反一次,被多个子区间覆盖会被取反多次,要将这个子区间变为全是0,求P的最小值,无解输出-1.n,m<=2000000这题神就在它利用了区间取反的性质,将01串相邻的位置异或起来,可以发现选择一个区间i,j时只有(i-1,i),(j,j+1)的之间的异或值会改变,要让区间内都为0即都一样,那么盯着异或为...原创 2018-07-02 22:23:27 · 329 阅读 · 0 评论 -
雅礼集训Day4T1convex(O(1)删除恢复)
题意:有n个点的凸包,现在给出这n个点的一个排列,m次询问一段区间的点构成的凸包面积。n,m<=150000既然序列都给出来了,明显就是让你莫队。。。。。。但是插入一个点的复杂度是O(logn)的。。。。。。没有信仰过不了。考虑先把凸包建好,发现用数组表示双向链表的方法,删除一个点的复杂度为O(1)(凸包内没有别的点所以可以直接用双向链表维护)可是莫队中不仅有删除还有插入,可以不插入吗?当然...原创 2018-07-05 18:24:59 · 145 阅读 · 0 评论 -
HDU 6365 Shoot Game
题意:n(<300)条X轴之上且平行于X轴的线段,每条有个权值,只有你发射的射线的能量大于这个权值且射线与线段相交才能消除这个线段,求消除所有线段的最小的(能量值的和)。 一开始就想到先打最大权值线段,然后就贪心到无法自拔,然而DeadEnd 考虑DP,发现只瞄准线段端点打也可以得到最优解,发现可以把端点用斜率离散,那么我们就把一个二维计算几何问题离散成了一个一维序列问题:平面上有n条线...原创 2018-08-14 20:24:32 · 187 阅读 · 0 评论 -
HDU 6356 Glad You Came
题意:给你一个函数,用这个函数得到m次区间取max的操作(减少输入),最后问每个点的值 点数n<=100000 , m<=5 * 1000000解法一:线段树打标记最后统一下放,复杂度O(mlogn + n),由于数据具有随机性,如果当前节点的标记大于现在要放的标记就不操作,O(实际可过)。 解法二:st表打标记最后统一下放,复杂度O(m + nlogn),注意到操作多节点少,...原创 2018-08-07 11:33:31 · 149 阅读 · 0 评论 -
ARC 063 F
在w * h 的方格中 求不含指定格点的边与方格平行的长方形的最大周长 考虑内部没有任何格点(不管是否指定)的长方形 发现周长最大为min(w , h) * 2 + 2 所以长方形一定穿过横着的中线和竖着的中线的其中一条。 考虑穿过一条线的长方形如何计算? dp[i][j]代表以横坐标为i为右边界,横坐标j为左边界的最大周长, 会发现dp值和i,j,还有i与j之间纵坐标最靠近这条线的...原创 2018-08-03 09:17:00 · 310 阅读 · 0 评论 -
前缀和思想
一个区间可以拆成两个前缀和,这是一个很基本的思想。 反过来,两个前缀和的关系可以由一个区间表示。。。 有时某些区间问题可以转化为前缀和问题继而减少情况和状态。。 例: 魔术师的桌子上有n个杯子排成一行,编号为1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品。花费c_ij元,魔术师就会告诉你杯子i,i+1,…,j底下藏有球的总数的奇偶性。 采取最优...原创 2018-08-26 12:32:52 · 1393 阅读 · 0 评论 -
NOI 2015品酒大会(后缀数组SA + 单调栈+RMQ求最大/小值)
容易发现,我们只需要求出(最多r)相似(r=0~n-1)的对数,就可以用前缀和算出r相似的对数。最多r相似的统计可以用后缀数组的h数组来统计。将每一对酒分类为r被h[2]卡住了,被h[3]卡住啦。。。。那么就需要求出每一个h[i],最大的区间[a,b]使得h[i]=mini=ab(h[i])h[i] = min_{i=a}^b(h[i])h[i]=mini=ab(h[i])然后被i卡住的对...原创 2019-01-03 15:10:56 · 200 阅读 · 0 评论 -
[HAOI2011]problem a
题目:一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数)n<=100000按ai从小到大排序,设f[i]f[i]f[i]为第i个人为真时最多的真话。那么f[i]=max(f[i],f[j]+1),j&lt;if[i] = max(f[i] , f[j] + 1) , j &lt; if[i]=m...原创 2019-03-11 10:29:18 · 186 阅读 · 0 评论 -
LOJ #2116. 「HNOI2015」开店(树链剖分+标记永久化主席树 || 动态点分治)
题目解法一:∑i∈[1,n] and x[i]∈[l,r]dis(u,i)=∑idep[u]+dep[i]−2∗dep[lca(u,i)]\sum_{i\in [1,n] \ and \ x[i]\in[l,r]} dis(u,i) = \sum_{i}dep[u]+dep[i]-2*dep[lca(u,i)]i∈[1,n] and x[i]∈[l,r]...原创 2019-03-20 08:48:10 · 191 阅读 · 0 评论 -
小C的线段树
题目描述输入从文件segment.in中读入数据.一行三个整数n, m, k.输出输出到文件segment.out中.一个整数表示答案对998244353取模的结果.n*m<=100000又是一个关于线段的题,但是这个题的线段并不是特别重要,以至于我们可以直接将他拆成两个端点来考虑(一般只考虑端点比较简单)然后就是愉快的DP了(出题人挖了好多坑,一般人看到(li>li-1 , ri&g...原创 2018-03-05 16:46:29 · 259 阅读 · 0 评论