随笔分类 - 图论
摘要:P1251 餐巾计划问题 分析 奇妙的拆点用法。 分析完题目后,我们发现每一天需要$r_i$块新毛巾,并产生$r_i$块旧毛巾。 这不难想到,将一天拆开,分成还有的老毛巾和需要的新毛巾。 我们考虑一下,建图过程。 从源点向所有老毛巾的点连接容量为 $r_i$ 费用为0的边,再从所有的新毛巾向汇点连一
阅读全文
摘要:POJ 1149 Pig/AcWing2237 猪 分析 本题还是蛮有意思的,我们来理顺一下思维过程。 我们总结一下,题目的操作。 每名顾客按顺序进行 将自己有钥匙的猪舍打开,从中挑选一些不超过自己想买的数量的猪。 同时可以将,打开的猪舍中的猪进行调整 这里面,我们需要一个逆向思维 我们考虑打开的猪
阅读全文
摘要:引入 想写这个是因为最近碰到了好多次分层图,但是对概念还是很模糊,简单记录一下自己的一些理解。 我最大的混沌的点是,我最开始的时候将拆点与分层图,一直分的不是太清楚,或者说两者我都不是太清楚。最近稍微理清了一下 接下来,我分别说一下我对拆点和分层图的理解。 拆点 拆点,其实是很简单,很基础的一个知识
阅读全文
摘要:P2754 [CTSC1999]家园 / 星际转移问题 分析 这里用到的优化是图论常见的优化,分层图。 我们来分析一下题意,我们想要知道 至少需要花多少天才能够将k个人从0号点送到n+1号点 其中有m条路线,每条路线承载人数是有限的的。 这题还是难想的,我们直接说建图思路。 我们建立节点之间的网络流
阅读全文
摘要:秘密挤奶机 分析 最大流判断 判断从起点到终点是否有K条互相不相交的路径,每条路径只可以用一次 对于无向边和有向边都一样的 其中无向图建立残留网络时,可以将相同方向的路径容量合并,则就是建立两条u->v容量为c,v->u容量也为c的边 网络流建图 将其中所有边的容量都设为1,然后开始建立残留网络 接
阅读全文
摘要:K. Tax 题目大意 n个点,m条边,无相连通图。 边有两种属性:其类型c,边权为1 1到达i的最短路中,经过类型为$c_i$的边需要付出的代价为$cnt_{c_i}*w_i$。 需要我们求出到达每个点付出的最小代价。 分析 首先,我们肯定是要求出最短路的。 然后,接下来我们可以发现。如果我们想求
阅读全文
摘要:Colorful Tree 题目大意 给我们一棵树,每个节点有一个颜色。 需要完成两个操作。 求某一种颜色的最小生成树的边数 将某一个节点的颜色改为另一种颜色 思路 不得不提到一个名词,虚树。虚树的概念大就是说我们不用真的把每一次改变后的树都重新建出来,我们只需要维护某些性质即可。 大部分用到虚树的
阅读全文
摘要:CF1187E Tree Painting 分析 首先,我们贪心的想,当第一个点确定后,我们所求的最大值就是,依次选择子节点 这样,我们可以用树形DP求出以1为根的树,所能得到的最大权值。 递推公式为 \[ f[i] = sz[i] + \sum_{j = son_1}^{son_m}f[j] \]
阅读全文
摘要:次短路 本来以为贼简单,就直接按照之前记的次短路板子打了,打完就直接......WA了。 我真是百思不得其解啊,次短路啊,没毛病啊。 最后终于想明白了 次短路有两种 可以重复过点的次短路 不可以重复过点的次短路 我们举个简单的例子。 则次短路分别为 1->2->1->2->3 长度为4 1->3 长
阅读全文
摘要:P3956 [NOIP2017 普及组] 棋盘 分析 首先说可以用dfs写,但是不建议。 本题的主流算法( dfs +记忆化优化),其实从最短路的角度上来讲是基于 dfs 实现的 SPFA (没错,就是那个死了又活了的SPFA),如果这一题数据范围扩大,并且做一些特殊构造,是可以被卡掉的。 而且这数
阅读全文
摘要:P4042 [AHOI2014/JSOI2014]骑士游戏 分析 这题的思路可太绝了。是对spfa的绝对深入理解 我们先简单的分析题目。 从题目中我们可以知道,杀死一个魔物有两种方法 普通攻击,不能彻底解决魔物,还会分裂成其他魔物(可以是其他魔物且同一种魔物可以重复出现) 魔法攻击,可以彻底解决魔物
阅读全文
摘要:P2746校园网 分析 可以看出,这题就是需要先缩点。 A问的是,所有拓扑图的起点个数。那第二个呢? 问的是,对无强连通分量的图而言,加多少条边可以使其变为强连通分量 结论:所有拓扑图起点个数为P,所有拓扑图终点个数为Q,则需要加的边数为max(P,Q) 简单证明,我们只需要将所有的拓扑图排排坐,最
阅读全文
摘要:P1606 [USACO07FEB]Lilypad Pond G 分析 这题初看,就能想到是求最短路计数。但是坑很多,所以我们换一个角度,我会首先将我的错误思路说一遍,再从中分析错误点,最后给出正解。 (我看到的时候,就觉得很简单,还好奇为什么是紫题,-_-,属实是小丑了) 错解 我们用dist[i
阅读全文
摘要:边的双连通分量(e-DCC) 桥:将桥断开后,连通图,会变成两个连通块。 e-DCC的概念:极大的不包括桥的连通块。 关于e-DCC的性质:其中任意两点之间,都有两条不相交的路径。 注意:其中的不相交,指的是,没有公共路径。 缩点后的图是一颗树。 因此引出的一个常见问题: 给一个无向图最少加几条边后
阅读全文
摘要:原题链接 分析 这题蛮简单的,就不多说什么了。 记录的主要原因是,有个比较有意思的小用法。 如果图是一个基环树森林,这时,我们要求的是,对于其中每个点,从该点出发最多能过多少个不重复的点。可以跑一个tarjan,接下来,就在跑出来的拓扑图上,跑一个最长路就得到答案了 Ac_code #include
阅读全文
摘要:原题链接 分析 这题还是比较好分析的 利用了,逆向思维。 当我们知道一个车次中所有能停靠的站后,通过题目可知,对停靠的每个点而言,没有停靠的一定不大于停靠点。 因此就好办了,我们知道每个车次之后,将所有的非停靠点和停靠点之间连一个边。 因为题目保证一定有解,则一定是无环的,因此直接跑一遍拓扑序即可。
阅读全文
摘要:原题链接 分析 首先,图论题嘛,肯定先看看范围,一看范围n$\leq$100,那铁铁Floyd啊。 但是,我们遇到一个很大的问题,Floyd无法处理,该条路是否使用了魔法,也无法知道使用了第几次的魔法 那接下来,我们的问题就变成了,如何解决这两个问题。 我们可以关注到一个重点词汇,第几次。 等于说,
阅读全文
摘要:原题链接 知识点 无向图,如何判断一条边是否在最短路径上:从起点和终点都跑一次最短路,接下来枚举每一条边,若是该点是最短路径上的边则符合 S为起点,E代表终点,边是u->v \[ dist[S][u]+w[u->v]+dist[E][v]=dist[S][E] \] 无向图,在跑最短路算法后,如果将
阅读全文
摘要:原题链接 分析 通过简单分析题目,我们知道,我们要计算的就是。 随着不断有点被启用,随之而来的边也逐渐可用的情况下,问在某情况下的两点之间的最小值 本题的重要程度:提高+/省选-* 需要明白Floyd算法的本质才能很好地写出这道题 让我们首先从Floyd算法谈起,这看上去是一个非常简单的代码,实际上
阅读全文
摘要:原题链接 分析 本题和Acw中的通信线路,几乎相同。 在通信线路中,我们需要求,从起点到终点的路径中,第k+1大的边权的最小值。 而在本题中,我们要求得是,从起点到终点的路径中,最大点权的最小值 那思路就一下清晰起来了,我们可以去二分答案,枚举这个最大值。 对于枚举的每一个值,我们看一下,对于这个值
阅读全文

浙公网安备 33010602011771号