双倍经验题:HDU 6214,3987 求最小割的最小边。 方案一: 首先跑最大流,这个时候割上都满载了,于是将满载的边 cap = 1,其他 inf ,再跑最大流,这个时候限定这个网络的关键边就是那个最少边的那个割。 方案二: 奇技淫巧,将每条边 cap* A + 1,最大流 = flow / A ...
分类:
其他好文 时间:
2017-09-18 22:24:00
阅读次数:
254
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6214 题意:求边数最小的割。 解法: 建边的时候每条边权 w = w * (E + 1) + 1; 这样得到最大流 maxflow / (E + 1) ,最少割边数 maxflow % (E + 1) ...
分类:
其他好文 时间:
2017-09-18 20:37:44
阅读次数:
245
最小割的建模技巧 技巧0. INF 的使用 (u, v, INF) . 这条边不能割, u 和 v 的状态必须一样. 技巧1. 核心模型 若 x, y 不同, 则减少 v . 连双向边 (x, y, v) . 技巧2. 统治点 x 与集合 A 中一个不同, 则减少 v . a[1] / v / x ...
分类:
其他好文 时间:
2017-09-18 12:21:19
阅读次数:
159
hdu 6214 Smallest Minimum Cut[最大流] 题意:求最小割中最少的边数。 题解:对边权乘个比边大点的数比如300,再加1 ,最后,最大流对300取余就是边数啦。。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstr ...
分类:
其他好文 时间:
2017-09-17 20:07:48
阅读次数:
209
F. Trig Function 样例输入 2 0 2 1 2 2 样例输入 样例输出 998244352 0 2 找啊找啊找数列和论文。cosnx可以用切比雪夫多项式弄成(cosx)的多项式,然后去找到了相关的公式: 然后写个快速幂预处理啥的,很快就解决了~ 1 #include<bits/std ...
分类:
其他好文 时间:
2017-09-17 00:25:05
阅读次数:
182
题意 已知有一张 n 个点的图, 以及两两的最小割, 构造出一张合法的原图. n <= 1000 . 分析 假设存在合法原图, 最小割树即是最小生成树. 求出最小生成树, 判定任意点对间是否满足, 然后再输出最小割树即可. 实现 ...
分类:
其他好文 时间:
2017-09-14 18:32:44
阅读次数:
166
闭合图为原图的一个子图, 满足任意一个节点的后继仍在闭合图中. 给原图的每个点以一个点权, 权值总和最大的闭合图称为最大权闭合图. 我们考虑利用最小割求解最大权闭合图. 首先, 为了权值最大, 我们贪心地将所有点权为正的点给选上, 但是这样可能会矛盾, 因为一个点权为正的点的后继可能点权为负. 我们 ...
分类:
其他好文 时间:
2017-09-14 16:51:39
阅读次数:
130
二分图最小点权覆盖: 每一条边 (u, v) 都是一个限制条件, 要求 u 和 v 不能同时取得. 我们考虑先取得所有的, 然后减去最小的点权. 建立原点 S , 连向二分图左边的所有点, 与 S 连通的意义是左边的点被选择了, 或者右边的点没有被选择. 建立汇点 T , 二分图右边的所有点连向它, ...
分类:
其他好文 时间:
2017-09-14 10:20:10
阅读次数:
155
第一眼感觉终于看到了一道自己会做的题,不就是最小割裸题嘛简单。然后,发现正解是传说中的最小割转最短路。。 比较玄学。 。 //Twenty #include<cstdio> #include<cstdlib> #include<iostream> #include<algorithm> #inclu ...
分类:
其他好文 时间:
2017-09-13 20:24:34
阅读次数:
188
Maximize ∑we - ∑pu 设 du 为u的边权和 s --> u g u-->v v-->u we u-->t g + 2*pu - du ans = (|V|*g - C[s,t])/2 ...
分类:
其他好文 时间:
2017-09-13 15:09:19
阅读次数:
107