Ants Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 6904   Accepted: 2164   Special Judge Description Young naturalist Bill studies ants in school. His ants feed on plant-louses that live on apple trees. Each ant colony needs its own ap…
UVA - 1349 Optimal Bus Route Design Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu Description A big city wants to improve its bus transportation system. One of the improvement is to add scenic routes which go es through attrac…
https://vjudge.net/problem/UVA-11383 题意: 给定一个N×N矩阵,每个格子里都有一个正整数W(i,j).你的任务是给每行确定一个整数row(i),每列也确定一个整数col(i),使得对于任意格子(i,j),w(i,j)<=row(i)+col(j).所有的row(i)和col(i)只和应尽量小. 思路: 利用二分图最佳完美匹配当中的l(x)+l(y)>=w(i,j),直接用KM算法即可. #include<iostream> #include&l…
题目大意:给出棋盘上的N个点的位置.如今问将这些点排成一行或者一列.或者对角线的最小移动步数(每一个点都仅仅能上下左右移动.一次移动一个) 解题思路:暴力+二分图最佳完美匹配 #include <cstdio> #include <cstring> #define N 20 #define INF 0x3f3f3f3f #define abs(x) ((x) > 0 ? (x) : (-(x))) #define max(a,b)((a)>(b)? (a):(b)) #…
题意 给出n个白点和n个黑点的坐标,要求用n条不相交的线段把他们连接起来,其中每条线段恰好连接一个白点和一个黑点,每个点恰好连接一条线段. 分析 结点分黑白,很容易想到二分图.其中每个白点对应一个X结点,每个黑点对应一个Y点,每个黑点和每个白点相连,权值等于二者的欧几里得距离,建模之后,最佳完美匹配就是问题的解. 为什么用费用流而不用KM呢,因为我不会··· #include <cstdio> #include <cstring> #include <algorithm>…
题意: 给定n个点的有向图问,问能不能找到若干个环,让所有点都在环中,且让权值最小,KM算法求最佳完美匹配,只不过是最小值,所以把边权变成负值,输出时将ans取负即可 这道题是在VJ上交的 #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; + ; const int inf = 0x3f3f3f3f; bool…
题意 早期的多程序操作系统常把所有的可用内存划分为一些大小固定的区域,不同的区域一般大小不同,而所有区域的大小之和为可用内存的大小.给定一些程序,操作系统需要给每个程序分配一个区域,使得他们可以同时执行.可是每个程序的运行时间可能和它所占有的内存区域大小有关,因此调度并不容易. 编程计算最优的内存分配策略,既给定m个区域的大小和n个程序在各种内存环境下的运行时间,找出一个调度方案,使得平均结束时刻尽量小.具体来说,你需要给每个程序分配一个区域,使得没有两个程序同时在同一个时间运行在同一个内存区域…
题目大意:n个人,分为两个阵营.现在要组成由若干支队伍,每支队伍由两个人组成并且这两个人必须来自不同的阵营.同时,每个人都有m个厌恶的对象,并且厌恶是相互的.相互厌恶的人不能组成一支队伍.问最多能组成多少支队伍,并在在队伍数最多的前提下求最多的女生数以及输出方案. 题目分析:很显然是个二分图.从阵营1的每个元素向阵营0的每个元素连一条有向边(互相厌恶的不连),这就得到一张二分图.给每条边一个权值,边两端的女生越多,权值越大.只需要求最大完美匹配即可. ps:比赛的时候连边只连了一半儿,导致一直w…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4095 题意: 给n个点(n≤99)的有向带权图,找若干个有向圈,使得每个点恰好属于一个圈.要求权和尽量小.注意即使(u,v)和(v,u)都存在,它们的权值也不一定相同. 分析: 每个点恰好属于一个有向圈,意味着每个点都有一个唯一的后继.反过来,只要每个点都有唯一的后继,每个点一定恰…
题意: 有n个蚂蚁n棵树,蚂蚁与树要配对,在配对成功的一对之间连一条线段,要求所有线段不能相交.按顺序输出蚂蚁所匹配的树. 思路: 这个题目真是技巧啊,不能用贪心来为每个蚂蚁选择最近的树,这样很可能是相交了的. 整体最优能让每条线段不相交,证明: 假设a1-b1与a2-b2相交.则dis(a1,b1)+dis(a2,b2)>=dis(a1,b2)+dis(a2,b1).如果我们所决定的最优匹配是按照整体距离最短来匹配的,那么dis(a1,b1)+dis(a2,b2)必定小于dis(a1,b2)+…