11 2020 档案

摘要:思路: $\quad$因为此题的答案就像树上的逆序对 \((x,y)\) 个数, \(y\) 比 \(x\) 的编号大但数值小,这不就是树上的逆序对吗?但是不用考虑所有编号大于它的,只需要考虑它的 \(k\) 个儿子(也可能没有 \(k\) 个儿子),儿子的子树不算。 $\quad$考虑用树状数组维 阅读全文
posted @ 2020-11-23 22:14 Farkas_W 阅读(170) 评论(0) 推荐(0)
摘要:\(\text{拆方块}\) $\quad$表示完全看不懂其他 \(dalao\) 的线段树, \(st\) 表和曼哈顿最小生成树做法,于是自己写一发题解帮助其他像我一样的蒟蒻。 $\quad$首先我们不应该把方块看做一个一个的,而是一列一列的,\(l\) , \(r\) 分别来表示这列方块因左边, 阅读全文
posted @ 2020-11-23 22:12 Farkas_W 阅读(185) 评论(0) 推荐(0)
摘要:思路: $\quad$先缩点(找边双),注意一条边只能走一次,缩完点后图就变成了一棵树(或森林,可能有不连通的情况,注意要额外记录是否在一个连通块中)。 $\quad$对于每一个询问 \(x\) → \(y\) ,若在一个强连通分量中(边双)不考虑,直接跳过,若不在一个连通块(树)中,直接输出 \( 阅读全文
posted @ 2020-11-23 22:10 Farkas_W 阅读(148) 评论(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 阅读(153) 评论(0) 推荐(0)
摘要:思路: $\quad$说实话,第一眼看这题想到的是线段树,但无奈 $1<=n<=10^ 9$ ,离散化有点复杂,动态开点又不会,所以使用了一种离线做法,跑的还贼快(大雾 $\quad$现将所有操作存起来, \(dir\) 表示方向, $1$ 为上, $0$ 为左,然后按 \(x\) 为第一关键字, 阅读全文
posted @ 2020-11-23 22:07 Farkas_W 阅读(148) 评论(0) 推荐(0)
摘要:思路: $\quad$这是一道数学题,分别计算每一个点分别作个位,十位... \(n-k\) 位的贡献即可(不可做这一数位的数的这一数位的贡献为 $0$ ),如字符串 $9876543210$ 中 $0$ 只可以作个位, $1$ 只可以作个位和十位,其他数位的贡献为 $0$ ,所以可以得到 \(an 阅读全文
posted @ 2020-11-23 22:05 Farkas_W 阅读(138) 评论(0) 推荐(0)
摘要:思路: $\quad$只需要以题目给定的 \(u\) 为起点跑一遍 \(Dijkstra\) 最短路即可,每次记录每个点的前驱(即到达这个点的边),注意有多个可以选择的边中选择边权最小的,感觉很像一个最小生成树,最后记得要记录树上的边权并排序再输出,起点 \(u\) 是没有前驱的,所以要从 $2$ 阅读全文
posted @ 2020-11-23 22:04 Farkas_W 阅读(98) 评论(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 阅读(96) 评论(0) 推荐(0)
摘要:\(\text{关于本题}\) \(\quad\) \(Dsu\) \(on\) $Tree$模板题,没有做过的可以做做CF600E Lomsat gelral,也是一道模板题,下面就简单讲讲树上启发式合并 (\(DSU\) \(on\) \(Tree\))算法,如果有不懂的可以提出来。 $\qua 阅读全文
posted @ 2020-11-23 22:02 Farkas_W 阅读(140) 评论(0) 推荐(0)
摘要:\(\text{CF246E Blood Cousins Return}\) $\quad$题目链接:CF246E Blood Cousins Return(洛谷的链接) $\quad$一道 \(Dcu\) 模板题(下面会讲),只需要用一个 \(map\) 数组来维护这个名字(字符串)是否出现过,用 阅读全文
posted @ 2020-11-23 22:01 Farkas_W 阅读(119) 评论(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 阅读(120) 评论(0) 推荐(0)
摘要:\(\text{CF1009F Dominant Indices}\) $\quad$题目链接:CF1009F Dominant Indices(洛谷的链接) $\quad$没有修改操作,询问子树,这就是一道 Dsu 板子题,这个算法又叫树上启发式合并(下面会细讲)。 $\quad$关于此题,用 \ 阅读全文
posted @ 2020-11-23 21:59 Farkas_W 阅读(284) 评论(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 阅读(105) 评论(0) 推荐(0)
摘要:\(\text{前言}\) $\quad$在 $51$ nod 上做了一道毒瘤题,顺便学了树上启发式合并的算法(又叫 Dcu on Tree、静态链分治),接下来我会先概述树上启发式合并的基本知识,然后结合部分题目讲解,可能会写的很长,做好心理准备。 \(\text{前置知识}\) $\quad$学 阅读全文
posted @ 2020-11-23 21:57 Farkas_W 阅读(547) 评论(1) 推荐(0)
摘要:\(\text{前言}\) $\quad$可以看看我的一篇blog关于树链剖分"换根操作"笔记(内容都差不多) $\quad$另外洛谷上还有一道关于换根操作的题目:P3979 【遥远的国度】(我的题解) \(\text{关于题目要求的操作}\) $\quad$其实可以发现在一棵树中,只有父亲(祖先) 阅读全文
posted @ 2020-11-04 21:39 Farkas_W 阅读(132) 评论(0) 推荐(0)
摘要:\(\text{前言}\) $\quad$可以看看我的一篇blog关于树链剖分"换根操作"笔记(内容都差不多) $\quad$另外洛谷上还有一道关于换根操作的题目:CF916E Jamie and Tree(我的题解) \(\text{关于题目要求的操作}\) 换根,直接换即可 路径修改,就和普通树 阅读全文
posted @ 2020-11-04 21:21 Farkas_W 阅读(160) 评论(0) 推荐(0)
摘要:\(\text{前言}\) $\quad$最近在你谷上做了几道"换根操作"的树链剖分题,觉得有必要记录一下,以免以后忘记了。(如果没有见过这种题的可以去做做P3979 遥远的国度和CF916E Jamie and Tree) \(\text{关于题目要求的操作}\) $\quad$相信你已经看过这两 阅读全文
posted @ 2020-11-04 19:13 Farkas_W 阅读(671) 评论(0) 推荐(4)
摘要:\(\text{关于题意}\) $\quad$一道很简单毒瘤的树链剖分练习题,只有五种操作,除了码量较大,就没有什么其他特点了,是一道很好的练习题。可以锻炼$OIer$找错能力,我调了一个小时, $WA$了一次 \(\text{关于边权转点权}\) $\quad$有几道题也是树链剖分边权转点权,可以 阅读全文
posted @ 2020-11-04 10:22 Farkas_W 阅读(174) 评论(0) 推荐(0)
摘要:\(\text{题目大意}\) $\quad$给出一个有向图,求所有点到起点的距离之和,起点到所有点的距离之和的和。(起点就是$1$)有点绕口 $\quad$虽然$SPFA$已经死了,但还是值得一用的,对于这道题考虑使用$SPFA$求最短路。 $\quad$根据题意,我们可以开二维数组,第一层存正图 阅读全文
posted @ 2020-11-02 21:28 Farkas_W 阅读(85) 评论(0) 推荐(0)
摘要:$\quad$前置芝士:Tarjan缩点,建议做做模板题(P3387 【模板】缩点) \(\text{关于题意}\) $\quad$给定一个有向图,求要使一个点 \(t\) 能够到达其他所有点还需加多少边? $\quad$因为在一个强连通分量中,每个点都可以到达其他所有点,所以考虑缩点,将一个强连通 阅读全文
posted @ 2020-11-02 21:27 Farkas_W 阅读(94) 评论(0) 推荐(0)
摘要:\(\text{题目大意}\) $\quad$给出一个有向图,求所有点到起点的距离之和,起点到所有点的距离之和的和。(起点就是$1$)有点绕口 $\quad$虽然$SPFA$已经死了,但还是值得一用的,对于这道题考虑使用$SPFA$求最短路。 $\quad$根据题意,我们可以开二维数组,第一层存正图 阅读全文
posted @ 2020-11-02 21:26 Farkas_W 阅读(84) 评论(0) 推荐(0)
摘要:\(\text{关于题意}\) $\quad$因为点i能保护j的条件是i可以到达j且j可以返回i,这不就是强连通分量的定义吗?所以考虑缩点,将每个强连通分量缩成一个点,缩点后每个强连通分量中只需取一个点,所以记录每个强连通分量中最小点权及其数量,最后最低成本就是每个强连通分量最小点权之和,方案数是最 阅读全文
posted @ 2020-11-02 21:25 Farkas_W 阅读(145) 评论(0) 推荐(0)
摘要:\(\text{关于题意}\) $\quad$一道很简单的树剖题,只有三种操作(其实是两种),唯一要考虑的点是如何将边权转化成点权,考虑到每个点都有且只有一个父亲节点(除根节点1之外),那么我们就可以将父亲与儿子连接的边权记录到儿子身上,这样 \(n-1\) 条边就可以合理的分配到 \(n-1\) 阅读全文
posted @ 2020-11-02 21:24 Farkas_W 阅读(107) 评论(0) 推荐(0)
摘要:\(\text{关于题意}\) $\quad$一道很简单的树剖题,只有三种操作(其实是两种),唯一要考虑的点是如何将边权转化成点权,考虑到每个点都有且只有一个父亲节点(除根节点1之外),那么我们就可以将父亲与儿子连接的边权记录到儿子身上,这样 \(n-1\) 条边就可以合理的分配到 \(n-1\) 阅读全文
posted @ 2020-11-02 21:23 Farkas_W 阅读(86) 评论(0) 推荐(0)
摘要:\(\text{求连通块数量,首先想到二维并查集}\) $\quad$与其它并查集不同,在棋盘上需要二维并查集,用一维数组f记录每个坐标的祖先,用二维数组记录每个点的颜色。(1表示白点,2表示黑点) $\quad$二维并查集一般采用压缩成一维的方法,将坐标为$(x,y)$的点记录为 \((x-1)\ 阅读全文
posted @ 2020-11-02 21:22 Farkas_W 阅读(168) 评论(0) 推荐(0)