图论计划
文章平均质量分 73
图论题单
FacDriftice
可惜我什么都做不到
展开
-
Codeforces Round 923 (Div. 3) F题 Microcycle(生成树,并查集,DFS)
因此我们可以用kruskal求一遍最大生成树,最后一个出现上述情况的边,即为答案。找出答案边之后,我们只需要使用dfs搜一遍这个图便可以找到该边所在的环。在kruskal求最小生成树的过程中,若当前边所连的两个点在并查集中。,则连上当前边就会产生环。原创 2024-10-15 22:13:35 · 201 阅读 · 0 评论 -
洛谷 P2071 座位安排(dinic网络流求二分图的最大匹配)
对于我们建成的流网络,满足流量守恒和能量守恒。因此,求出的最大流即为最终的答案。显然,这是一个求二分图的最大匹配数问题,我们可以使用dinic算法进行求解。对于每一排座位,我们向汇点。,我们向每个人都连一条容量为。原创 2024-10-08 21:21:41 · 301 阅读 · 0 评论 -
洛谷 P2783 有机化学之神偶尔会做作弊(Tarjan边双连通分量,LCA,并查集)
在一张无向连通图图上,将所有的环全都缩成一个点,我们可以使用Tarjan边双连通分量进行。两个点之间的节点个数,可以先预处理出这棵树的LCA。在这棵树上,我们想要快速求出。缩点之后的图一定是一棵树。原创 2024-10-08 20:41:22 · 1103 阅读 · 0 评论 -
Codeforces Round 316 (Div. 2) D题 Tree Requests(二分,dfs,在线,前缀异或)
将每个深度的结点按照dfs序放到一个vector里,同时记录每个vector对应的前缀异或。对于每一个询问x,只需在给定深度里找到。R[x]的两个端点,取区间异或和即可。个字母全部当作一个二进制数。原创 2024-10-07 21:55:26 · 294 阅读 · 0 评论 -
Codeforces Round 264 (Div. 2) D题 Gargari and Permutations(建图,有向无环图求最长路)
连一条有向边,容易发现建成的图是一个即有向无环图(DAG),只需要求出DAG的最长路即可。在这里,我们采用拓扑排序和dp进行求解。因此我们可以对所有满足条件的。若在所有的排列中,每一对。,这是一个很小的数。原创 2024-10-07 20:28:30 · 947 阅读 · 0 评论 -
Codeforces Round 891 (Div. 3) G题 Counting Graphs(最小生成树,快速幂维护加权方案数)
考虑将给出的树的边按照权值从小到大排序,并模拟最小生成树的过程。算法在每次合并两个连通块的过程中,会浪费掉两个连通块大小乘积。最后,用快速幂维护枚举每条边时可行方案数的乘积即可。被浪费掉的边,可以选择的权值为。(因为有不选的情况,所以要。当前枚举的这条边的权值。原创 2024-09-23 17:26:48 · 521 阅读 · 0 评论 -
洛谷P1640 [SCOI2010] 连续攻击游戏(二分图,匈牙利算法,时间戳)
因为每件装备只能用一次,如果把攻击序列建成点,则本题可以看成是装备和攻击顺序的二分图匹配,因此可以采用匈牙利算法进行求解。因此我们可以打上一个时间戳来避免超时。原创 2024-09-20 21:31:47 · 378 阅读 · 0 评论