随笔分类 -  数据结构

摘要:题目 "洛谷5280" 分析 一道加深对线段树理解的好题。~~(其实并没有什么用处)~~ 注意,每次操作是先把所有线段树复制一份,只有旧的线段树进行了 Modify ,而新的线段树保持原样。 先转化一下题意。如果直接维护某一个结点在多少棵线段树上是有 tag 的,那么每次修改时,没有被访问到的结点答 阅读全文
posted @ 2020-03-02 14:36 Inspector_Javert 阅读(130) 评论(0) 推荐(0)
摘要:题目 "BZOJ2957" 分析 题意:给定一个数列 $a$,动态修改,求前缀最大值的数量。如果 $i$ 满足 $\max_{j=1}^{i 1}a_j include include include using namespace std; namespace zyt { template inl 阅读全文
posted @ 2020-01-21 17:39 Inspector_Javert 阅读(124) 评论(0) 推荐(0)
摘要:应该算是比较基础的知识了吧 …… 随便写写,主要内容是证明。 例题(现编的):有一棵 $m$ 个点的有根树,每个点上有若干个数,$m$ 个点上共有 $n$ 个数,数的规模是 $N$ 。每次询问给定 $u,l,r$ ,求 $u$ 的子树中有多少个数在 $[l,r]$ 中。 做法是每个点开一棵线段树,插 阅读全文
posted @ 2019-12-18 15:13 Inspector_Javert 阅读(3022) 评论(3) 推荐(3)
摘要:~~这题我写了一天后交了一发就过了我好兴奋啊啊啊啊啊啊~~ 题目 "洛谷 4482" 分析 这题明明可以在线做的,为什么我见到的所有题解都是离线啊 …… ~~什么时候有机会出一个在线版本坑人。~~ 题目的要求可以转化为求出一个最大的 $i(i include include include incl 阅读全文
posted @ 2019-12-18 10:31 Inspector_Javert 阅读(288) 评论(0) 推荐(0)
摘要:我这道题写了整!整!三!天! 我要一定要写这篇博客来表达我复!杂!的!心!情! 题目 "LOJ511" "官方题解" (这个题解似乎不是很详细,我膜 std 才看懂的) 调这道题验证了我校某人的一句话:调题是一个熵减的过程,和 std 越来越像。 分析 ~~由于我写了三天,我也想让你们跟我一样自行去 阅读全文
posted @ 2019-12-16 09:31 Inspector_Javert 阅读(394) 评论(0) 推荐(0)
摘要:我好像国赛以后就再也没有写过 OI 相关的博客 qwq Upd: 这篇博客是 NOIP (现在叫 CSP 了)之前写的,但是咕到 CSP 以后快一个月才发表 …… 我最近这么咕怎么办啊 …… 题目 "洛谷 5537" 分析 这道题可以说是非常神了。这题看上去无从下手,但是 ~~通过膜拜题解~~ 后能 阅读全文
posted @ 2019-12-08 23:23 Inspector_Javert 阅读(590) 评论(0) 推荐(0)
摘要:题目: "洛谷 3822" 分析: ~~直接按题意模拟,完了。~~ 将每次加 / 减拆成不超过 $32$ 个对单独一位的加 / 减。 考虑给一个二进制位(下称「当前位」)加 $1$ 时,如果这一位本来就是 $0$ ,那么直接变成 $1$ 。否则要考虑进位:向左(以后默认从右向左为低位至高位,与书写顺 阅读全文
posted @ 2019-06-09 13:49 Inspector_Javert 阅读(137) 评论(0) 推荐(0)
摘要:题目: "BZOJ3514" 分析: 看到这题真的是一脸懵逼无从下手,只好膜题解。看到「森林的联通块数 = 点数 边数」这一句话就立刻什么都会了 QAQ 。 这题最重要的就是意识到上面那个式子(正确性显然)。那么这个问题就变成了:$[l,r]$ 中最多选出多少条边,使得图中不存在环。根据 Krusk 阅读全文
posted @ 2019-05-17 16:07 Inspector_Javert 阅读(108) 评论(0) 推荐(0)
摘要:大概有整整一个月没更博客了 …… 4 月为省选爆肝了一个月,最后压线进 B 队,也算给 NOIP2018 翻车到 316 分压线省一这个折磨了五个月的 debuff 画上了一个不算太差的句号。~~结果省选后技能点全点到红警上了,OI 迅速变菜,GG 。~~ 题目: "洛谷 3345" 分析: 为什么 阅读全文
posted @ 2019-05-08 23:40 Inspector_Javert 阅读(175) 评论(0) 推荐(0)
摘要:题目: = "洛谷 2617" BZOJ 1901 是权限题,$n=10^4$ ,内存 128 MB ;洛谷 2617 $n=10^5$ ,内存 1024 MB ,~~数据比较坑~~。 分析: = 蒟蒻初学树套树…… 先谈谈个人对树套树的理解。树形数据结构每个结点上维护的信息可以分为两种:一种是根据 阅读全文
posted @ 2019-03-14 10:21 Inspector_Javert 阅读(195) 评论(0) 推荐(0)
摘要:题目: = "洛谷4215" 分析: = 感觉思路有点像线段树分治? 把所有区间插到线段树上。我一开始的想法是修改时给树上一条链上包含的所有熊孩子的值都减$1$,然后发现这个单次最坏是$O(m)$的,~~gg~~。 可以记录每个熊孩子被分成了多少个 非零 的区间。修改时如果某个区间变成$0$了,那么 阅读全文
posted @ 2018-12-14 07:28 Inspector_Javert 阅读(140) 评论(0) 推荐(0)
摘要:题目: = "BZOJ1483" 分析: = (这题码了一下午,码了近250行,但是意外跑的比本校各位神仙稍快,特写博客纪念) 首先能看出一个显然的结论:颜色段数只会变少不会变多。 我们考虑用并查集维护区间,对于每个区间维护它的起点和终点。建$n$棵平衡树,第$i$棵存颜色为$i$的区间。把$x$变 阅读全文
posted @ 2018-12-03 13:24 Inspector_Javert 阅读(125) 评论(0) 推荐(0)
摘要:题目: = "洛谷2839" 分析: = 记$s_i$表示原序列中第$i$大的数。 考虑对于任意一个区间$[a,b]$,设它的中位数为$s_m$,那么这个区间内大于等于$s_m$的数和小于$s_m$的数的数量要么相等,要么小于比大于等于多一个。后一种情况当且仅当$s_m\in [a,b]$且序列长度 阅读全文
posted @ 2018-09-24 18:29 Inspector_Javert 阅读(141) 评论(0) 推荐(0)
摘要:题目: = "BZOJ2762" 分析: = 加入的不等式分三种情况 当$a 0$,可以变成$x \lfloor \frac{c b}{a}\rfloor$ 当$a=0$,若$b c$则恒成立,否则恒不成立 当$a0$时,令$x=\lfloor \frac{c b}{a}\rfloor$,给$gre 阅读全文
posted @ 2018-09-24 10:48 Inspector_Javert 阅读(273) 评论(0) 推荐(0)
摘要:题目: = "洛谷3224" 分析: = 这题一看$n\leq100000$的范围就知道可以暴力地用$O(nlogn)$数据结构乱搞啊…… 每个联通块建一棵Splay树,查询就是Splay查询第k大的模板,建桥的时候就把两个联通块的Splay进行“启发式合并” 本来以为启发式合并是什么高端的东西,t 阅读全文
posted @ 2018-07-10 19:02 Inspector_Javert 阅读(142) 评论(0) 推荐(0)
摘要:【写在前面】TYC (Little White) 真是太巨啦! 题目: = "Vijos1083" 分析: = 一眼看上去就是线段树啊…… 然而当我这种蒟蒻兴高采烈地把线段树模板敲了一半,却发现一个问题: 这子区间最大值的查询咋整啊…… 于是经过仔cha细zhao思ti考jie,设计了这样一个线段树 阅读全文
posted @ 2018-04-18 18:39 Inspector_Javert 阅读(222) 评论(0) 推荐(0)
摘要:题目: = "洛谷3467" 分析: = (ti jie shuo)这题是个单调栈经典题。 单调栈就是栈元素递增或递减的栈,这里只考虑递增。新元素入递增栈时,先将所有比它大的元素弹出,然后让新元素入栈,这样保证栈顶永远是最大的元素,代码如下:($a$是新元素) 然后来分析这道题。我这种蒟蒻乍一看一脸 阅读全文
posted @ 2018-04-18 18:33 Inspector_Javert 阅读(207) 评论(0) 推荐(0)
摘要:题目: = "洛谷2982" = 分析: = 这道题最重要的是想明白一点:牛$i$走到以后只对$P_i$的子树产生影响 知道这个以后,就可以想到在线维护每个牧场已经被“影响”了多少次(也就是在此之前有多少个牛是到达自己的祖先结点的),这就是从谷仓到这个牧场需要减速多少次。 怎么维护子树信息呢?dfs 阅读全文
posted @ 2018-04-11 18:43 Inspector_Javert 阅读(118) 评论(0) 推荐(0)