图论
文章平均质量分 55
关于OI Wiki内的例题
Σ_aphasia
不要温和的走进那个良夜
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CF704D Captain America(有源汇上下界最大流)
黑题+cf3100原创 2022-10-16 14:25:23 · 807 阅读 · 3 评论 -
P4043 [AHOI2014/JSOI2014]支线剧情(有源汇上下界最小费用可行流)
下界全为1的有源汇上下界最小费用可行流原创 2022-10-14 21:19:33 · 924 阅读 · 0 评论 -
网络流学习笔记(含破烂板子)
目前缺少:最小割相关原创 2022-10-14 19:44:23 · 809 阅读 · 0 评论 -
P4843 清理雪道(有源汇上下界最小流)
有源汇上下界最小流原创 2022-10-14 19:05:56 · 512 阅读 · 0 评论 -
P2517 [HAOI2010]订货 (最小费用最大流)
接近板题难度的最小费用最大流,不是很有edu意义原创 2022-10-13 20:01:54 · 159 阅读 · 0 评论 -
P4012 深海机器人问题(网络流24题-智慧限制边+最大费用最大流)
最大费用最大流原创 2022-10-13 19:54:29 · 189 阅读 · 0 评论 -
P4009 汽车加油行驶问题(网络流24题-分层图 最小费用最大流)
分层图+最短路/费用流,只写了费用流版本原创 2022-10-13 19:51:23 · 377 阅读 · 0 评论 -
P4013 数字梯形问题(网络流24题-多条件最大费用最大流)
多条件最大费用最大流原创 2022-10-13 19:49:02 · 163 阅读 · 0 评论 -
18南京I:Magic potion(最大流水题)
18南京I,最大流原创 2022-10-11 21:52:13 · 159 阅读 · 0 评论 -
cf-1725 M. Moving Both Hands(反图+dij)
cf-1725 M. Moving Both Hands(反图+dij)原创 2022-09-07 14:46:33 · 546 阅读 · 0 评论 -
hdu7244-Winner Prediction(22多校第十场1001 dinic最大流)
2022多校第十场1001原创 2022-09-04 16:25:16 · 239 阅读 · 0 评论 -
洛谷P4304 [TJOI2013]攻击装置(dinic)
二分图+dinic原创 2022-09-04 10:21:34 · 240 阅读 · 2 评论 -
POJ 3281-Dining(dinic)
dinic原创 2022-09-03 17:07:06 · 168 阅读 · 0 评论 -
ABC263G - Erasing Prime Pairs(dinic)
abc263-Gdinic原创 2022-09-01 18:19:16 · 205 阅读 · 0 评论 -
P2472 [SCOI2007] 蜥蜴(dinic)
dinic最大流洛谷:紫原创 2022-09-01 16:33:37 · 236 阅读 · 8 评论 -
codeforces 1239D-Catowice City(tarjan缩点)
difficult:2400原创 2022-08-13 16:07:07 · 268 阅读 · 0 评论 -
codeforces 27D-Ring Road 2(远古二分图染色)
difficult:2200洛谷:紫原创 2022-08-13 15:31:18 · 183 阅读 · 0 评论 -
codeforces 1635E-Cars (二分图染色+拓扑排序)
difficult:2200二分图染色+拓扑排序原创 2022-08-12 20:36:55 · 405 阅读 · 0 评论 -
cf1693C. Keshi in Search of AmShZ(div1)【最短路,反向建图】
传送门题意在一个有向图上需要从点 111 到点 nnn,每次可以选择以下一种操作:1、删除一条边2、随机移动到当前点能够通向的另一点求所需操作次数到达终点的最大值的最小值看到求最大值的最小值,第一想法:二分!于是卒但借助该特性,可以将操作 222 中的随机理解成:一定选择最到终点的最长路径,而如果希望不走最长路径,则需要删去该路上的边。由于正向建图处理环问题更麻烦,因此采用反向建图跑最短路,而从这个点到达终点所需要删除的较长路径上的边即为额外代价。在反向图中,该额外代价的表现为该点的入度(在原图中表现为,原创 2022-06-30 09:23:48 · 461 阅读 · 1 评论 -
洛谷P2515 [HAOI2010]软件安装(tarjan缩点+树上背包)
传送门看题面非常容易想到:有依赖的树上背包问题。在给有向图且存在环的情况下(即多个软件互相依赖,只能同时选择装或不装),用 tarjantarjantarjan 缩成有向树处理。由于对于任意一个结点,若不选则其所有后代都不能选,得到状态转移方程dp[x][j+k]=max(dp[x][j+k],dp[x][j]+dp[to][k])dp[x][j+k]=max(dp[x][j+k],dp[x][j]+dp[to][k])dp[x][j+k]=max(dp[x][j+k],dp[x][j]+dp[to][k]原创 2022-06-29 17:08:22 · 303 阅读 · 0 评论 -
cf387 D. George and Interesting Graph(思维+二分图)
传送门题意给定一个有向图,每次操作可以随意添加或删除任一条边。求让该无向图满足:1.1.1. 存在一个中心点 vvv(自由指定),从该点到其他任一一点 uuu 都存在边 (v,u) (u,v)(v,u)\ (u,v)(v,u) (u,v),并且该点存在自环。2.2.2. 除中心点外的所有点,出度和入度均为 222。所需要的最少操作次数。在确定了中心点之后,去掉该中心点及所有与该点有关的边,剩下的所有点的出度和入度均为 1,则此时剩下的图是由若干个环组成。鉴于此时所有点入边原创 2022-05-30 19:41:31 · 166 阅读 · 0 评论 -
poj3020-Antenna Placement(二分图最大匹配)
传送门题意给定一个 n∗mn*mn∗m 的网格,每个格子内可能是 ooo 或 ∗*∗,现在需要用 1∗21*21∗2 的方块将网格上所有的 ∗*∗ 遮掉,且方块可以重叠。问最少需要多少方块。二分图思想:将所有 ∗*∗ 格与它相邻的 ∗*∗ 格子进行连边,由于每一条边即为可能需放置的方块,容易贪心想到尽量让一个方块正好覆盖两个 ∗*∗,因此可以通过先求最大匹配数 maxmaxmax ,则此时被覆盖的点数为 2∗max2*max2∗max,而剩下的所有孤寡点都需要一个独立方块进行覆盖,则最后所需要的方块数原创 2022-05-28 19:12:25 · 169 阅读 · 0 评论 -
cf 1220E.Tourism(Tarjan缩点+树形dp)
传送门题意在一个无向图上有 nnn 个城市,每个城市都有一个价值 wiw_iwi,现从起点 sss 出发,过程中不能连续两次经过同一条边,问能够得到的最大价值。由于不能连续两次经过同一条边,因此一定会贪心的选择所有带有环的路,最后再选择一条贡献最大但没有环的路走到底。采用 TarjanTarjanTarjan 缩点转化为有向无环图之后,与起点 sss 在同一连通块的可以看作是以 sss 为根的有向树(返祖边可以在 dfsdfsdfs 中特判掉)。在 TarjanTarjanTarjan 中处理每个原创 2022-05-16 22:17:20 · 225 阅读 · 1 评论 -
cf 999-E. Reachability from the Capital(Tarjan缩点)
传送门什么 2000 分裸题啊题意给定一个有向图和点 sss,问让该点 s 能够到达其余所有点最少需要加上多少条有向边。tarjantarjantarjan 缩点后判各强连通分量的入度,入度为 000 则答案 +1+1+1,对 sss 所在的强连通分量特判。#include <bits/stdc++.h>#define int long long#define PII pair<int,int>using namespace std;const int N=5e3原创 2022-05-16 15:13:32 · 166 阅读 · 3 评论 -
洛谷P1262 间谍网络(强连通分量 缩点)
传送门满脑子都是刚学的 Tarjan ,看题的时候甚至不知道怎么操作特判由题意可知,控制所有的间谍一定需要满足:所有入度为 0 的间谍都能够收买。而对于其他入度不为 000 的点,在满足了以上的条件之后,是一定可以通过入度为 000 的点到达的 (这不是显然的吗)因此输出 NONONO 的情况仅为:存在入度为 000 的间谍不能够收买。由于该情况下还需要输出编号最小且不能控制的间谍,先缩点再处理会比较麻烦,考虑直接把所有能收买的放进 tarjantarjantarjan 中跑一遍后,第一个未更新 df原创 2022-05-15 16:47:16 · 270 阅读 · 0 评论 -
[HAOI2006] 受欢迎的牛(Tarjan缩点板题)
传送门步骤:TarjanTarjanTarjan 板子缩点后,重新遍历原图存在的边新建一个有向无环图,并统计每个点的出度,出度为 000 的点即为所求。然而读题可以发现,出度为 000 的点多于 111 个时为无解,因为不满足题目中的被所有的牛认为受欢迎,因此需要判断出度为 000 的点的唯一性。答案即为该点在原图中,该强连通分量中的点的个数。#include <bits/stdc++.h>#define int long long#define PII pair<int,in原创 2022-05-15 12:40:02 · 154 阅读 · 0 评论 -
NC15707 可达性(Tarjan缩点板题)
传送门步骤:TarjanTarjanTarjan 算法判出各个点所在的强联通分量后进行缩点,同一强连通分量内保留的点为字典序最小的点,重新遍历原图中含有的边建出新的有向无环图(倒也不用真的建出个图来) ,其中入度为 000 的点即为答案#include <bits/stdc++.h>#define int long long#define PII pair<int,int>using namespace std;const int N=1e5+10;vector &原创 2022-05-15 10:08:48 · 161 阅读 · 2 评论 -
洛谷 P2573 [SCOI2012]滑雪(有向图+prim最小生成树)
传送门由于有向图的特殊性,因此不能每次简单判断最短边加入,否则可能出现以下情况:假设在上图中,在已经连通了 (1,3,4)(1,3,4)(1,3,4) 三个点的情况下,边 (2,4)(2,4)(2,4) 比边 (1,2)(1,2)(1,2) 更短,则此时将加入边 (2,4)(2,4)(2,4) ,形成上图。然而由于边的有向性(即题面中的高度限制),此时的点 222 其实是到达不了的,必须需要通过边 (1,2)(1,2)(1,2) 进行连通。因此对于有向图的最小生成树,在加入某条边时还需要判断该边的始点原创 2022-04-28 17:20:49 · 431 阅读 · 0 评论 -
洛谷P3243 [HNOI2015]菜肴制作(思维+反向拓扑)
传送门听说原本是紫题需要先做 iii 再做 jjj 的限制很自然的让人想到了拓扑排序,然而让编号较小的菜肴尽可能较早输出并不是要求得到最小字典序的答案!! 反面样例可见第三组输入数据,若按最小字典序为 143521435214352 ,使得 222 号菜肴更迟了。容易判断当存在环时无解,可以通过跑程序的过程中记录访问过的点的数目,若点数不为 nnn ,则说明存在无法被加入的点。既然正向不行,那么可以考虑通过反向拓扑进行操作,以最后才能够被操作的作为起始点,原先在正向需要选出最小的,那么反向就是不断找原创 2022-04-15 21:46:39 · 615 阅读 · 1 评论 -
TSP问题-郊区春游+简单环
tsp问题,又称旅行商问题,原题意为一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总的行程最短。郊区春游传送门tsp 问题采用的基本描述状态为:f[i][j]f[i][j]f[i][j] ,其中 iii 将每个点均表现为二进制状态,111 表示已经过,000 表示未经过,jjj 表示完成该状态当前的点(即最后一步到达的点),由此下一步走到 kkk 点的状态转移方程为 f[i+i∗][k]=f[i][j]+dis[j][k]f[i+原创 2022-03-11 20:03:58 · 356 阅读 · 0 评论 -
How far away?(hdu2586-LCA模板)【尚未完成】
原题链接题目描述输入描述输出描述输入样例23 21 2 103 1 151 22 32 21 2 1001 22 1输出样例1025100100典型的 LCA 模板题,实质就是求出两点间的最近公共祖先,若最近公共祖先为两点其中一点,则最短距离为另一结点到最近公共祖先的距离;反之则为两点到最近公共祖先距离之和。本题的朴素做法是将两个结点跳到同一深度后,每次同时向上跳一个深度进行比对,相同则说明该结点即为最近公共祖先,否则继续往上跳直到符合要求为止。但由于原创 2021-08-27 00:48:27 · 129 阅读 · 0 评论
分享