1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <queue> 5 using namespace std; 6 const int INF = 0x3f3f3f3f; 7 const int N ...
分类:
其他好文 时间:
2018-07-04 10:34:03
阅读次数:
187
题面 "传送门" Sol 套路:找出重心,如果有两个就新建一个点 然后把这棵树hash一下 设$f[i][j]$表示第一颗树到$i$第二棵树到$j$,子树$i,j$同构的付出的最小代价 转移:每次把这一层hash值相同的点做一边二分图权匹配(KM/费用流)就好了 ~~一遍AC~~ cpp inclu ...
分类:
其他好文 时间:
2018-05-31 00:36:19
阅读次数:
160
对于每一个H 每一个m编号 然后遍历每一个m 使用BFS求出该m到每一个H的最短距离 然后把边加进图里 超级源点 超级汇点 容量为1 费用为0 跑一遍最小费用流 ...
分类:
其他好文 时间:
2018-04-27 19:53:47
阅读次数:
149
题面 "传送门" 思路 第一问:无脑网络流跑一波 第二问: 先考虑一个贪心的结论:扩容出来的扩容流量一定要跑满 证明显然 因此我们可以把扩容费用可以换个角度思考,变成增加一点流量,花费W的费用 这样,我们就得到了一个最小费用流的模型 只要在原图基础上,对于每个原图边,加一条费用为W,无限容量的边,而 ...
分类:
其他好文 时间:
2018-04-07 13:59:44
阅读次数:
170
补一发费用流的代码 %%%棒神 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #include<cmath> 6 #include<algorithm> 7 #include<que ...
分类:
其他好文 时间:
2018-02-04 22:37:03
阅读次数:
140
[题面戳我][1] 题目描述 对于给定的开区间集合I和正整数k,计算开区间集合I的最长k可重区间集的长度。 输入格式: 的第 1 行有 2 个正整数n和k,分别表示开区间的个数和开区间的可重迭数。接下来的 n行,每行有 2 个整数,表示开区间的左右端点坐标。 输出格式: 将计算出的最长 k可重区间集 ...
分类:
其他好文 时间:
2018-01-03 18:34:19
阅读次数:
149
题解:最小费用流+二分图模型; 左边表示出这个点,右边表示入这个点; ...
分类:
其他好文 时间:
2018-01-02 23:37:30
阅读次数:
302
搞一张从网上kuai下来的题表 | 序号 | 题目名称 | 链接 | 标签 | | : : | : : | : : | : : | | 1 | 飞行员配对方案问题 | [题面][1] | 二分图匹配 | | 2 | 太空飞行计划问题 | [题面][2] | 最小割 | | 3 | 最小路径覆盖问题 ...
分类:
其他好文 时间:
2018-01-01 21:51:12
阅读次数:
194
http://poj.org/problem?id=3422 题目大意: 从左上角走到右下角,中途取数(数>=0),然后该点的数变为0,求走k的总价值和最大值。 —————————————————————————————— 最大值?但是我们只会最小费用流啊…… 但是数是>=0的啊,所以…… 我们拆点 ...
分类:
其他好文 时间:
2017-12-02 15:11:45
阅读次数:
209