摘要: 思路: $\quad$因为此题的答案就像树上的逆序对 \((x,y)\) 个数, \(y\) 比 \(x\) 的编号大但数值小,这不就是树上的逆序对吗?但是不用考虑所有编号大于它的,只需要考虑它的 \(k\) 个儿子(也可能没有 \(k\) 个儿子),儿子的子树不算。 $\quad$考虑用树状数组维 阅读全文
posted @ 2020-11-23 22:14 Farkas_W 阅读(122) 评论(0) 推荐(0) 编辑
摘要: \(\text{拆方块}\) $\quad$表示完全看不懂其他 \(dalao\) 的线段树, \(st\) 表和曼哈顿最小生成树做法,于是自己写一发题解帮助其他像我一样的蒟蒻。 $\quad$首先我们不应该把方块看做一个一个的,而是一列一列的,\(l\) , \(r\) 分别来表示这列方块因左边, 阅读全文
posted @ 2020-11-23 22:12 Farkas_W 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 思路: $\quad$先缩点(找边双),注意一条边只能走一次,缩完点后图就变成了一棵树(或森林,可能有不连通的情况,注意要额外记录是否在一个连通块中)。 $\quad$对于每一个询问 \(x\) → \(y\) ,若在一个强连通分量中(边双)不考虑,直接跳过,若不在一个连通块(树)中,直接输出 \( 阅读全文
posted @ 2020-11-23 22:10 Farkas_W 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 思路: $\quad$树形$DP +$ 容斥 , \(f[x]\) 表示以 \(x\) 为根的子树中有几个点到 \(x\) 的路径包含幸运边, \(g[x]\) 表示除了 \(x\) 的子树外有几个点到 \(x\) 的路径包含幸运边,最后统计答案就是 \(ans=\sum_{i=1}^n\) \(( 阅读全文
posted @ 2020-11-23 22:09 Farkas_W 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 思路: $\quad$说实话,第一眼看这题想到的是线段树,但无奈 $1<=n<=10^ 9$ ,离散化有点复杂,动态开点又不会,所以使用了一种离线做法,跑的还贼快(大雾 $\quad$现将所有操作存起来, \(dir\) 表示方向, $1$ 为上, $0$ 为左,然后按 \(x\) 为第一关键字, 阅读全文
posted @ 2020-11-23 22:07 Farkas_W 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 思路: $\quad$这是一道数学题,分别计算每一个点分别作个位,十位... \(n-k\) 位的贡献即可(不可做这一数位的数的这一数位的贡献为 $0$ ),如字符串 $9876543210$ 中 $0$ 只可以作个位, $1$ 只可以作个位和十位,其他数位的贡献为 $0$ ,所以可以得到 \(an 阅读全文
posted @ 2020-11-23 22:05 Farkas_W 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 思路: $\quad$只需要以题目给定的 \(u\) 为起点跑一遍 \(Dijkstra\) 最短路即可,每次记录每个点的前驱(即到达这个点的边),注意有多个可以选择的边中选择边权最小的,感觉很像一个最小生成树,最后记得要记录树上的边权并排序再输出,起点 \(u\) 是没有前驱的,所以要从 $2$ 阅读全文
posted @ 2020-11-23 22:04 Farkas_W 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 思路: $\quad$对于此题考虑使用线段树维护,因为有环,所以断环为链,数组开两倍,另外距离换成坐标(距离的前缀和),假设最后求的两棵树分别为 \(x\) , \(y\) \((dis_x<dis_y)\),那么答案就是 $2\times (h_x+h_y)+dis_y-dis_x$ ,就是 \( 阅读全文
posted @ 2020-11-23 22:03 Farkas_W 阅读(74) 评论(0) 推荐(0) 编辑
摘要: \(\text{关于本题}\) \(\quad\) \(Dsu\) \(on\) $Tree$模板题,没有做过的可以做做CF600E Lomsat gelral,也是一道模板题,下面就简单讲讲树上启发式合并 (\(DSU\) \(on\) \(Tree\))算法,如果有不懂的可以提出来。 $\qua 阅读全文
posted @ 2020-11-23 22:02 Farkas_W 阅读(111) 评论(0) 推荐(0) 编辑
摘要: \(\text{CF246E Blood Cousins Return}\) $\quad$题目链接:CF246E Blood Cousins Return(洛谷的链接) $\quad$一道 \(Dcu\) 模板题(下面会讲),只需要用一个 \(map\) 数组来维护这个名字(字符串)是否出现过,用 阅读全文
posted @ 2020-11-23 22:01 Farkas_W 阅读(89) 评论(0) 推荐(0) 编辑
摘要: \(\text{CF375D Tree and Queries}\) $\quad$题目链接:CF375D Tree and Queries(洛谷的链接) 思路 $\quad$标准做法是动态规划,但看到 $4.5s$ 的时限,似乎可以树上启发式合并水过去,只要用 \(num_i\) 和 \(cnt_ 阅读全文
posted @ 2020-11-23 22:00 Farkas_W 阅读(88) 评论(0) 推荐(0) 编辑
摘要: \(\text{CF1009F Dominant Indices}\) $\quad$题目链接:CF1009F Dominant Indices(洛谷的链接) $\quad$没有修改操作,询问子树,这就是一道 Dsu 板子题,这个算法又叫树上启发式合并(下面会细讲)。 $\quad$关于此题,用 \ 阅读全文
posted @ 2020-11-23 21:59 Farkas_W 阅读(259) 评论(0) 推荐(0) 编辑
摘要: \(\text{CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths}\) $\quad$题目链接:CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh p 阅读全文
posted @ 2020-11-23 21:58 Farkas_W 阅读(71) 评论(0) 推荐(0) 编辑
摘要: \(\text{前言}\) $\quad$在 $51$ nod 上做了一道毒瘤题,顺便学了树上启发式合并的算法(又叫 Dcu on Tree、静态链分治),接下来我会先概述树上启发式合并的基本知识,然后结合部分题目讲解,可能会写的很长,做好心理准备。 \(\text{前置知识}\) $\quad$学 阅读全文
posted @ 2020-11-23 21:57 Farkas_W 阅读(303) 评论(1) 推荐(0) 编辑