随笔分类 -  图论

摘要:给定一张 $n$ 个点 $m$ 条无向边的图(无重边) :定义一种行走方案为:$m-2$ 条边走 $2$ 次,其余 $2$ 条边只走一次. 两个行走方案不同,当且仅当走一次的两条边中有不同的. 一条边走两次不好处理,可以将每条无向边拆开,然后将问题转换成:有多少种方案使得图中两条边不走的一笔画? 我 阅读全文
posted @ 2019-10-02 16:15 EM-LGH 阅读(173) 评论(0) 推荐(0)
摘要:一个差分约束模型,只需判一下有没有负环即可. 阅读全文
posted @ 2019-09-25 19:15 EM-LGH 阅读(148) 评论(0) 推荐(0)
摘要:这种问题的转化方式挺巧妙的. Code: 阅读全文
posted @ 2019-09-20 18:58 EM-LGH 阅读(169) 评论(0) 推荐(0)
摘要:建反图,跑一个拓扑排序dp即可. Code: 阅读全文
posted @ 2019-09-20 15:22 EM-LGH 阅读(217) 评论(0) 推荐(0)
摘要:卡了一上午常数,本地13s,可是bzoj 就是过不去~ 阅读全文
posted @ 2019-09-20 11:28 EM-LGH 阅读(163) 评论(0) 推荐(0)
摘要:题不难,但是一开始把读入看错了,调了半天qaq~ Code: 阅读全文
posted @ 2019-09-19 22:06 EM-LGH 阅读(158) 评论(0) 推荐(0)
摘要:思路比较直接. 由于 $n$ 很小,直接定义 $f[i][j]$ 表示当前在自动机中的节点 $i,$ 被覆盖串的集合为 $j$ 的方案数. 阅读全文
posted @ 2019-09-19 19:07 EM-LGH 阅读(164) 评论(0) 推荐(0)
摘要:这个没啥难的. 只保留可以转移最短路的边,然后拆点跑一个最大流即可. 阅读全文
posted @ 2019-09-19 16:42 EM-LGH 阅读(213) 评论(0) 推荐(0)
摘要:由于是无向图,所以可以枚举两个终点,跑两次最短路来更新答案. 阅读全文
posted @ 2019-09-19 14:22 EM-LGH 阅读(118) 评论(0) 推荐(0)
摘要:按照横,竖为方向跑一个最短路即可,算是水题~ 阅读全文
posted @ 2019-09-19 13:59 EM-LGH 阅读(216) 评论(0) 推荐(0)
摘要:此题卡Dijkstra... Code: 阅读全文
posted @ 2019-09-19 10:44 EM-LGH 阅读(215) 评论(0) 推荐(0)
摘要:Code: 阅读全文
posted @ 2019-09-19 08:57 EM-LGH 阅读(156) 评论(0) 推荐(0)
摘要:Code: 阅读全文
posted @ 2019-09-19 08:34 EM-LGH 阅读(147) 评论(0) 推荐(0)
摘要:题解: $k<=20,$ 考虑状压dp. 从 $1$ 号点走到 $n$ 号点经过的点的个数可能会非常多,但是强制要求经过的点一共才 $20$ 个. 而我们发现这个题好就好在可以经过某个城市,而不停留. 故我们在关键点之间进行转移的时候可以直接走最短路,而不用管别的. 令方程 $f[i][j]$ 表示 阅读全文
posted @ 2019-09-18 19:11 EM-LGH 阅读(163) 评论(0) 推荐(0)
摘要:不难发现如果一个边的方向改变,就一定不会改回来(这样肯定不是最短路). 所以就直接建双向边,边权为 $0$ 代表不改变,边权为 $1$ 代表改变,跑一个最短路即可. 阅读全文
posted @ 2019-09-18 15:22 EM-LGH 阅读(130) 评论(0) 推荐(0)
摘要:复习一下线段树优化建图:1.两颗线段树的叶子节点的编号是公用的. 2.每次连边是要建两个虚拟节点 $p1,p2$ 并在 $p1,p2$ 之间连边. 阅读全文
posted @ 2019-09-18 14:48 EM-LGH 阅读(181) 评论(0) 推荐(0)
摘要:Description 给出一棵N个结点的树,选择L条路径,覆盖这些路径上的结点,使得被覆盖到的结点数最多。 Input 第一行两个正整数N、L(2 <= N <= 1,000,000, 0 <= L <= N)。下面有N-1行,每行两个正整数A和B(1 <= A, B <= N),表示一条边(A, 阅读全文
posted @ 2019-09-09 11:09 EM-LGH 阅读(157) 评论(0) 推荐(0)
摘要:把 $Noi2018$ day1t1 想出来还是挺开心的,虽然是一道水题~ 预处理出来 1 号点到其它点的最短路,然后预处理边权从大到小排序后加入前 $i$ 个边的并查集. 这个并查集用可持久化线段树维护可持久化数组来完成. 每次询问时在边集上二分一下,找到对应的并查集,然后找到祖先并输出极小值即可 阅读全文
posted @ 2019-08-29 07:51 EM-LGH 阅读(144) 评论(0) 推荐(0)
摘要:打比赛的时候切的,不过竟然 wa 了 14 次~ 挺简单的,直接在跑 $Dijkstra$ 的时候记录一下路径最大值就好了. 阅读全文
posted @ 2019-08-24 16:59 EM-LGH 阅读(197) 评论(0) 推荐(0)
摘要:这个题思路十分巧妙,感觉很多题都有类似的套路. 我们发现异或操作其实就是将一个数的二进制的若干个 $0$ 变成 $1$,或者一些 $1$ 变成 $0$. 而每次按照某种顺序一位一位地异或也可以起到同时异或多位的结果. 所以我们每次只要把每个节点连到只该变一位的节点就可以了. 然后就直接跑一个最短路~ 阅读全文
posted @ 2019-08-21 20:48 EM-LGH 阅读(174) 评论(0) 推荐(0)