随笔分类 -  数据结构---线段树

摘要:THUSC2017题解 巧克力 先将所有权值$\text {Rand}$区间$[0,K)$的一个权值,那么一个方案满足条件就变成了$[0,K)$中的颜色都有,只要满足要求的那$K$个颜色被分到不同的集合即满足条件,那么正确率$P=\frac {K!}{K^K}$ 没有第二问就是一个斯坦纳树板子题,然 阅读全文
posted @ 2019-12-07 08:02 heyujun 阅读(311) 评论(6) 推荐(1) 编辑
摘要:【BZOJ3711】Druzyny 题面 "bzoj" 题解 首先我们有一个$O(n^2)$的$dp$: 设$f_i$表示现在已经分好了$1...i$的组,且$i$作为一组的结尾的最大值,那么转移的话就是对于每个 $\max\limits_{k=j}^i c_k\leq i j+1\leq \min 阅读全文
posted @ 2019-10-24 11:43 heyujun 阅读(363) 评论(2) 推荐(2) 编辑
摘要:【LG3582】[POI2015]KIN 题面 "洛谷" 题解 这题维护区间的信息有点像最大子段和,我们往最大子段和上面靠。 对于一个颜色,我们有一个直观的想法就是将它一次出现的权值设为正,二次出现就设为负。 但是当区间中出现次数多于两次怎么办呢?我们可以考虑从左往右扫这个序列,这个数出现在最靠右的 阅读全文
posted @ 2019-10-21 08:58 heyujun 阅读(118) 评论(0) 推荐(0) 编辑
摘要:【CF765F】Souvenirs 题面 "洛谷" 题解 我们可以发现,对于某个右端点$i$,左端点$j$在由$i\rightarrow 1$的过程中,每一段的答案是单调不增的,由这个性质,我们想办法维护出加入右端点$i$后的答案。 我们只考虑形如$ja_i$且$j$最大,这个可以用值域线段树维护。 阅读全文
posted @ 2019-10-17 22:00 heyujun 阅读(211) 评论(0) 推荐(0) 编辑
摘要:【LG2839】[国家集训队]middle 题面 "洛谷" 题解 按照求中位数的套路,我们二分答案$mid$,将大于等于$mid$的数设为$1$,否则为$ 1$。 若一个区间和大于等于$0$,则答案可以更大,反之亦然。 对于这个题,我们只要维护出$[b+1,c 1]$之间二分答案后的和,$[a,b] 阅读全文
posted @ 2019-10-17 21:40 heyujun 阅读(162) 评论(0) 推荐(0) 编辑
摘要:【LG2154】[SDOI2009]虔诚的墓主人 题面 "洛谷" 题解 ~~如果您没有看懂题,请反复阅读题面及样例~~ 可以发现,对于某一个点,它的答案就是上下左右几个组合数乘起来。 这样直接做复杂度显然爆炸,考虑怎么优化这个东西。 我们可以固定左右,在某两个左右之间维护上下有多少个,这样子的话左右 阅读全文
posted @ 2019-10-17 21:34 heyujun 阅读(147) 评论(0) 推荐(0) 编辑
摘要:【LG3722】[HNOI2017]影魔 题面 "洛谷" 题解 先使用单调栈求出$i$左边第一个比$i$大的位置$lp_i$,和右边第一个比$i$大的位置$rp_i$。 考虑$i$对答案的贡献,当且仅当$i$作为区间$[x+1,y 1]$的最大值时,$i$才对点对$(x,y)$有贡献。 根据题意,第 阅读全文
posted @ 2019-02-27 22:40 heyujun 阅读(171) 评论(0) 推荐(0) 编辑
摘要:【LG3248】[HNOI2016]树 题面 "洛谷" 题解 因为每次你加入的点是原树上某一棵子树 那么我们一次加入一个点,代表一棵子树加到大树下面 那么我们要找到一个点在一个大点中用主席树在$dfs$序中$kth$即可 询问的话,先将所有的点权(深度)转化为边权 查询时先将两点跳到它所在大点的根 阅读全文
posted @ 2019-02-27 22:26 heyujun 阅读(246) 评论(0) 推荐(0) 编辑
摘要:题目描述 给你一张$N$个点、$M$条边的有向图,按顺序给定你一条有$L$条边的$1\rightarrow n$的最短路, 每次断掉这$L$条边中的一条(不对后面答案产生影响),求每次断边之后的最短路。 题解 40pts 每次断边之后跑$dijkstra$最短路即可,复杂度$O(LM\log N)$ 阅读全文
posted @ 2019-02-25 16:18 heyujun 阅读(313) 评论(0) 推荐(1) 编辑
摘要:【BZOJ3551】[ONTAK2010]Peaks加强版 题面 给你一个图,每次询问给定一个位置、长度和$k$,问从这个点出发,只能经过不大于这个长度的边,到达的点中点权第$k$大的点权 图的规模:$10^5$ 题解 考虑离线怎么做: 将所有询问存下来,按照边权排序 每次加边线段树合并查$kth$ 阅读全文
posted @ 2019-01-29 15:53 heyujun 阅读(226) 评论(2) 推荐(0) 编辑
摘要:【LG4587】[FJOI2016]神秘数 题面 "洛谷" 题解 首先我们想一想暴力怎么做 对于一段区间$[l,r]$ 我们先将它之间的数升序排序 从左往右扫, 设当前我们可以表示出的数为$[1,x]$,待插入的数为$a_i$ 会有下面两种情况: 1.$a_i x+1$时,$x+1$肯定表示不出来$ 阅读全文
posted @ 2019-01-16 20:03 heyujun 阅读(608) 评论(0) 推荐(2) 编辑
摘要:【CF543E】Listening to Music 题面 "洛谷" 题目大意 给你一个长度为$n$序列$a_i$,和一个常数$m$,定义一个函数$f(l,x)$为$[l,l+m 1]$中小于$x$的数的个数,有$q$个询问,每次给定$l,r,x$查询$min_{i=l}^rf(i,x)$。 题解 阅读全文
posted @ 2019-01-02 15:16 heyujun 阅读(609) 评论(3) 推荐(2) 编辑
摘要:【CF833E】Caramel Clouds 题面 "洛谷" 题目大意: 天上有$n$朵云,每朵云$i$会在时间$[li,ri]$出现,你有$C$个糖果,你可以花费$c_i$个糖果让云$i$消失,同时需要保证你最多让两朵云消失.现在有$m$个独立的询问,每次给你一个需要让阳光照$k$时间的植 物,问 阅读全文
posted @ 2019-01-02 11:53 heyujun 阅读(451) 评论(0) 推荐(2) 编辑
摘要:【POJ2482】Stars in Your Window 题面 "vjudge" 题解 第一眼还真没发现这题居然™是个扫描线 令点的坐标为$(x,y)$权值为$c$,则 若这个点能对结果有$c$的贡献,必须要矩形左下角的点的范围必须在$([x,x+w),[y,y+h))$之间 则按扫描线套路将一个 阅读全文
posted @ 2018-12-18 21:54 heyujun 阅读(309) 评论(1) 推荐(0) 编辑