A - Flow Problem
HDU3549 Flow Problem
题解:网络流版题,甚至今天早上我还只会EK(辛亏卡EK的没那么多,但是还是被迫学习dinic)
B - War
HDU-3599 War
题意:求1到n最短路径(无向边)的最大条数(一条边不能重复经过)
题解:题面就让人难懂,好像出题人在考生活实际和理解能力。看懂题就简单了,先跑一个dijkstra求所有可能在最短路径上的边,设流量为1,直接跑最大流。
这题还有一个坑点,n可以等于1,不判掉可能一直在原地打转
C - Drainage Ditches
P2740 [USACO4.2] 草地排水Drainage Ditches
题解:刚才那道题的读题心理阴影就够严重了,鬼知道这题先输入m再输入n......
仍然是看懂题就十分简单,最大流版题
D - Petya and Graph
CF1082G Petya and Graph
题解:发现题目满足最小割的要求:
- 1.每个点只有选或不选两种状态
- 2.每个点状态确定则答案确定
(当然还有数据范围)于是可以转化为最小割做。具体来说,最小割解决的是最小问题,题目要求的是最大值,那么直接反着做。
考虑先选所有的边,以答案减少量为贡献计算最小贡献:
- 1.若选i号点,贡献为点权
- 2.若不同时选一条边上的两个点,贡献为边权
第一种很好建边(i直接连汇点t,边权为点权),第二种则可以先建一个点p连接源点s,再连接p和这两个点,三条边流量均为原图上这条边的边权
E - Card Game
CF808F Card Game
题解:第一步显然二分答案,接下来怎么办呢?
题目给了一个很特殊的条件,不能选两张魔力值之和是质数的卡片,而除2以外的所有质数都是奇数。也就是魔力值相加为偶数且不是2的卡片一定不会冲突。
那么先不管2的情况,我们可以把魔力值按照奇偶分类,只有奇偶之间才有可能有矛盾,那这不就是一个二分图吗?再考虑魔力值之和正好为2,也就是两个都为1。我们只需要选择一个能力值最大的满足二分条件的即可。
这样一个最小割的模型就很好构造了
F - Economic Difficulties
CF1263F Economic Difficulties
题解:这个最小割模型构造挺简单的,但是别忘记这是一棵树,肯定是不能删掉父亲不删儿子的,所以需要多连这一类边。还有,两棵树的连法是对称的,比如a树是父亲连儿子而b树是儿子连父亲。最后,千万不要把根节点连到源点或汇点上!