摘要:
题意:有6种类型的志愿服,给你n件衣服(n一定是6的倍数),然后m个志愿者,接下里有m行,有两个字符串,表示志愿者能穿的衣服的尺码,问你是否所有志愿者都能找到合适的衣服= =最大流:0为源点,m+7为汇点,源点到每种志愿服的容量是n/6,志愿服和志愿者之间的容量是1,... 阅读全文
摘要:
这道题要注意重边问题= =#include#include#include#includeusing namespace std;const int maxn=1000;int G[2*maxn][2*maxn];int f[2*maxn],d[2*maxn];#de... 阅读全文
摘要:
题意:给出n的城市m条通道,然后每条通道最大的承载人数给出来了,然后给出起点和终点以及要搭载的人数,问最少要走多少次才能把全部游客送到目的地因为导游每次都要跟团,所以每条交通道路搭载的最大人数要减1= =克鲁斯卡尔算法,就会排序的时候按照运输人数的从大到小排序,然后当... 阅读全文
摘要:
题意:给你n个插座,然后接下俩的n行是对插座类型的描述,然后给你m个电器,接下来的m行是对电器的描述,电器的种类和电器的插座类型,然后给出k种转换器,接下来的k行就是第一个字母表示该转换器可以和那种电器相连,第二个字母表示该转换器可以和那个插座相连,注意一种转换器可以... 阅读全文
摘要:
这题的题意是给出n的点,每个点有容量限制,然后给出每条边的运输的容量,问你从XX城市运送电量到YY城市最大的电量是多少。。最大流的模板题,直接用EK算法。。XX城市设定0,YY城市为n+1。还有一点要注意的是在求最小的残量的是还要看每个顶点容量。。#include#i... 阅读全文
摘要:
这题是要你求从顶点1到顶点n然后再从n到1的最小的花费,注意两次走的边不能有相同的。。。原本单蠢的以为求一遍最短路,然后把边给删掉。。然后在跑一遍。后来想想不行啊,这样第一次的最短路会造成第二次回去无路可走。其实关键是在求第二次的最短路的时候我们要对图进行一下处理,把... 阅读全文
摘要:
很裸的一道dijk算法题,因为顶点数太多无法用邻接矩阵表示,所以要用临界表来表示AC代码#include#include#include#include #include#includeusing namespace std;using namespace std;c... 阅读全文
摘要:
prim算法是构造最小生成树的一种算法= =个人觉得写起来没有克鲁斯卡尔那么优美首先我们用个二维数组G[N][N]来保存权值,用low[N]数组来保存最小权值,vis[N]来保存是否已经添加到MTS中然后结合poj1258实现prim算法#include#includ... 阅读全文
摘要:
这题的意思是给出p个点,然后p的点可以由无线电通信或者是卫星通信,然后只有m的点能通过卫星通信,然后用无线电通信的点的距离不能超过D超过D的话惠氏通信的成本增加,问在使通信成本就低的情况下求D这题还是最小生成树,用prim算法构造MST,在构造的过程将每次算的最小的权... 阅读全文
摘要:
这题还是最小生成树 ==已经修建的道路的权值位0,然后再用克鲁斯卡尔算法#include#include#includeusing namespace std;const int maxn=2000;int p[maxn];struct node{ int u,... 阅读全文