
线段树
JingLuoZZZ
为什么努力?因为喜欢的人很优秀
展开
-
HDU 4417 Super Mario(离线 + 树状数组)
题目:Mario is world-famous plumber. His “burly” figure and amazing jumping ability reminded in our memory. Now the poor princess is in trouble again and Mario needs to save his lover. We regard the roa...原创 2019-05-23 10:07:26 · 259 阅读 · 0 评论 -
Gym-102091 The Stream of Corning 2(线段树 + 优先队列)
题目: 传送门思路: 优先队列维护一下当前最早出的 物品 , 权值线段树查询第 k 小即可Ac_Code#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <stack>#include <bitset&g...原创 2019-09-26 21:22:01 · 254 阅读 · 0 评论 -
2019HDU多校训练第二场 Longest Subarray
思路: 基本思路肯定是固定区间右端点,每次找到这个右端点构成的最大区间. 对于一个现在的某一个位置 i ,我们肯定向前找符合条件的区间. 我们考虑分两种情况,如果颜色 j 出现的次数小于 k,那么一定不定包含颜色 j ,在其最后出现的位置 - inf, 如果大于等于k ,则...原创 2019-09-25 17:19:49 · 162 阅读 · 0 评论 -
Gym - 102174 G - 神圣的 F2 连接着我们(线段树优化建图 + 多起点最短路)
题目: 传送门思路:网上几乎没有这题的题解,GYM上面过的人也很少,写这篇博客的初衷只是为了有想要看代码的同学了解一下.思路跟题解差不多,对于每个区间我们用虚点表示,类似于线段树的编号方式,然后建立两个线段树,一颗为出边(内部自下而上建边),一颗为进边(内部自上而下建边)。进边线段树的叶子节点向出边线段树的对应叶子节点建一条有向边。对于我们m次的加边操作,我先求出a,b两个区间的编号有哪些...原创 2019-08-20 12:08:00 · 443 阅读 · 1 评论 -
BZOJ-1264 基因匹配Match (LCS->LIS 或者线段树优化LCS)
题目: 传送门思路: 第一种方法是将LCS转化为LIS,我们把第一个序列的每个数的位置记录下来,按照第二个序列出现的顺序,每次逆序排列所有位置来构造新数组,然后对这个新数组求LIS即可. ...原创 2019-08-07 21:19:06 · 271 阅读 · 0 评论 -
POJ-1661 Help Jimmy (dp+线段树优化,nlog n解法)
题目: 传送门思路: 就题目本身而言,不是很难,可以用 o(n2) 方法解决这道题目 我们讨论的是如果这道题数据范围变成 1e4甚至1e5了怎么解决这道题目. 首先, o(n2) 解法中对于每个平台往下走转移到的下一个平台一定是确...原创 2019-08-02 10:42:47 · 152 阅读 · 0 评论 -
CodeForces-343D water tree (线段树+树链剖分)
题目: 传送门思路: 刚开始没看清清空操作是只对v的祖先和v操作,写了一个dfs+线段树,后来样例过不了,重新读一次题才发现。 因为只能对v的祖先操作,所以dfs就不是很好用了,不由得想到树链剖分每条链由下往上就是祖先关系,所以我们可以选择用树链剖分来解决这道题,因为操作是对v的子树操作,所以我们在dfs的时候每个点...原创 2019-07-28 10:33:34 · 136 阅读 · 0 评论 -
CodeForces 920E-Connected Components?(线段树暴力)
题目: 传送门思路: 因为题目给出了没有相连的点,那么我们不妨假设刚开始所有点都是相连的,然后再逐渐删边,很明显对于一个联通块,如果有点到这个联通块有至少一条边,那么说明这个点也在联通块内. 那我们不妨从某点开始,初始其他点到该点都有一条路径(为1),然后将没有相连的点-...原创 2019-08-01 12:40:31 · 309 阅读 · 0 评论 -
CodeForces - 620E New Year Tree(bitset + 线段树)
题目: 传送门思路: 第二次遇到要用bitset的题,这道题还是很简单的, 先dfs预处理一下,然后我们用bitset来记录每种颜色是否存在即可. 不了解bitset的小伙伴可戳bitset介绍Ac_Code#include <iostream>...原创 2019-07-29 10:02:09 · 171 阅读 · 0 评论 -
POJ - 2777 Count Color(线段树+压位)
题目: 传送门思路: 节点存的是[L,R]区间的颜色分部情况,我们可以用二进制来表示 颜色是否存在. 题目输入的l,r可能是相反的,这种情况我们要先交换一下它们的值(第二次刷还是被坑了…)Ac_code...原创 2019-06-03 09:07:07 · 140 阅读 · 0 评论 -
HDU - 3308 LCIS (区间合并)
题目: 传送门思路: 之前遇到的第一个区间合并题,二刷感觉真的好麻烦,wa了好多发,主要是忘记了要怎么区间合并了(大哭).原创 2019-06-08 17:57:04 · 159 阅读 · 0 评论 -
CodeForce 538-F A Heap of Heaps(主席树)
题目: 传送门思路: 咱用 离线+树状数组 逃了好多次课 ,终究还是 被抓回来补课了; 对于每个k,每个点我们都去查询 [k*(I-1)+2,min(n,k*I+1)] 区间中小于 a[I]的个数,我们写出这种区间的总数,用调和级数可知范围在 nlog n 以内,因为查询的区间太大了,而且...原创 2019-05-24 09:27:08 · 159 阅读 · 0 评论 -
HDU-6356 Glad You Came (线段树)
题目: 传送门思路: 除了卡常好像没什么好说的…如果直接用 max函数会T的很惨.基本就是 线段树维护最小值,然后对于更新操作加一些剪枝就可以了.Ac_Code#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <stac...原创 2019-09-27 21:10:32 · 157 阅读 · 0 评论