题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4899 题意: 给你n,m,m对关系 m次输入,a,b,表示a喜欢b的书 问你在随意安排数的情况下,是否每个人都能得到自己想要的书 题解: 也就是最大匹配数量,可以用最大流求或者匈牙利 每本书只能用一次,建边S-a a'-T 有关系 a - b' 建图,跑最大流 #…
题目链接: http://acm.hust.edu.cn/vjudge/problem/129727 D - Book Club Time Limit: 5000MS 题意 给你一个无自环的有向图,问你最后能不能将每个点都划分在若干个有向环里(每个点最后只能属于一个环). 题解 这题一开始思路就跑偏了,想到连通分量去了..orz 后来仔细一想,这不是边的分配问题吗!!!首先入度和出度可以分开考虑的,我们只需要考虑每个点的出度就行了,如果一个点的出度只有1,那就显然只能连它了,但是如果它有多个出边…
最大流,有向环覆盖问题. #include<cstdio> #include<cstring> #include<string> #include<cmath> #include<vector> #include<queue> #include<algorithm> using namespace std; + ; const int INF = 0x7FFFFFFF; struct Edge { int from, to…
题目描述 在梦境中,Alice来到了火星.不知为何,转眼间Alice被任命为火星能源部长,并立刻面临着一个严峻的考验. 为了方便,我们可以将火星抽象成平面,并建立平面直角坐标系.火星上一共有N个居民点.每个居民点认为是平面上的一个点.第i个居民点的坐标为(Xi, Yi),对能源的需求量为Poweri.每个居民点消耗的能源由它附近的发电站提供.由于技术原因,一个居民点消耗的所有能源必须来自同一座发电站.自人类移民火星之初,政府就有一个规模宏大的发电站建设计划.按照这个计划,政府将在火星上建立M座发…
题意就是 给一个50 * 50的矩阵 然后给出每行每列元素的和 和一个初始矩阵 矩阵中有些是未知,有些是已知 然后我们求目标矩阵就是把能确定的元素的值求出来,实在不能确定的就置为-1 所有矩阵元素的值在0-100之间 看到范围很小. 第一反应是求一个最大流 先把已经给出的元素都从每行每列的和中减掉. 然后左边为行结点,右边为列结点 然后源点向行结点连边 列结点向汇点连边 行和列中如果对应的元素未知就连一下,流向上限是100 然后这样我们就得到了一个可行解 但是可能有多解怎么办 对于一个可能多解的…
获取视频处理对象的方式有很多,读取本地文件.读取url.读取摄像头等,而直接读流解析视频的实施方案却难以寻觅.此处有两种方案处理视频流(此处设定场景为用户上传视频,同时两种方式均需服务端安装ffmpeg+opencv): 1.io流保存本地再读取 该方案没有太多技术含量,直接借助java.io+opencv-VideoCapture即可实现视频的解帧等操作. 1)保存本地 本地保存为求方便,直接使用 apache.commons.io.FileUtils.copyInputStreamToFil…
题意:已知n(n <= 150)个城市和m(m <= 5000)个航班,每个航班有出发地.到达地.乘坐人数.起飞时间和降落时间(时间用时和分表示),求从一个指定城市出发,去往另一个指定城市在规定的最晚时间前(包括最晚时间)可以到达的最大人数(换航班的间隔至少需要30分钟). 分析: 1.首先最大流模板中是不考虑时间因素的,从一个点分别向不同的方向出发是同时的,所以不能以城市为最大流模板中的顶点. 2.为了考虑时间因素,以航班为顶点,以城市为边,将同一个航班拆成两个点i与i + m(拆点法),则…
题意:有两台机器,上面有多个工作区域,有多个任务,分别可以在两台机器的某一个区域上完成,两台机器一开始都在0区域上工作,每次更改区域,都会重新启动一次,让我们求出最小的重启次数. 思路:将两个区域连线,使用二分图,求出最大匹配数,容易想明白,正好就是最小重启的次数. 注意:0一开始就已经完成,不应该加入到匹配序列. 代码如下: #include<iostream> #include<algorithm> #include<queue> #include<cstdi…
There will be several test cases in the input. Each test case will begin with a line with three integers: N A B Where N is the number of teams (1N1, 000), and A and B are the number of balloons in rooms A and B, respectively (0A, B10, 000). On each o…
传送门 可惜洛谷上没有special judge,不然用匈牙利也可以过的,因为匈牙利在增广上有一个顺序问题,所以没有special judge就过不了了. 好在这个题的测试数据比较特殊,如果是网络流的话按照顺序加边,就可以过. 最小不相交路径覆盖 = 总点数 - 最大匹配数 ——代码 #include <queue> #include <cstdio> #include <cstring> #include <iostream> #define N 2000…