摘要:
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2444就会给你n个人,m个朋友关系,然后让你判断是否能把他们分成两组然后里面谁也不认识对方如果能,输出最大的组的人数解法,先判断二分图,然后在二分图匹配#include#include#include#in... 阅读全文
摘要:
这题真的是并查集的经典题目= =题意是给出n个人,然后给出若干的操作1表示让a,b成为朋友,若与前面的朋友敌人关系相矛盾,输出-12表示让a,b成为敌人,若与前面的朋友敌人关系矛盾输出-13判断a,b是否是朋友,是输出1,不是输出04判断a,b是否是敌人,是的话输出1,不是的话输出-1首先ab朋友关... 阅读全文
摘要:
这题是最小费用最大流的问题,给出边的关系和花费,然后给吃D和K,D是要运输的数据流。K表示每条边能运输的最大流量,这图的应该构造无向图,而且自己发现,凡是要无向图的网络流问题最好还是用邻接表来表示这样就可以解决重边和反向边问题,之前用邻接矩阵来表示一直错= =我们还要抽象出一个源点0,然后0-1的花... 阅读全文
摘要:
题意:有6种类型的志愿服,给你n件衣服(n一定是6的倍数),然后m个志愿者,接下里有m行,有两个字符串,表示志愿者能穿的衣服的尺码,问你是否所有志愿者都能找到合适的衣服= =最大流:0为源点,m+7为汇点,源点到每种志愿服的容量是n/6,志愿服和志愿者之间的容量是1,志愿者和汇点之间的容量是1,然后... 阅读全文
摘要:
题意:给你n个插座,然后接下俩的n行是对插座类型的描述,然后给你m个电器,接下来的m行是对电器的描述,电器的种类和电器的插座类型,然后给出k种转换器,接下来的k行就是第一个字母表示该转换器可以和那种电器相连,第二个字母表示该转换器可以和那个插座相连,注意一种转换器可以有多个。。。。然后让你求得就是不... 阅读全文
摘要:
这题的题意是给出n的点,每个点有容量限制,然后给出每条边的运输的容量,问你从XX城市运送电量到YY城市最大的电量是多少。。最大流的模板题,直接用EK算法。。XX城市设定0,YY城市为n+1。还有一点要注意的是在求最小的残量的是还要看每个顶点容量。。#include#include#include#i... 阅读全文
摘要:
这题是要你求从顶点1到顶点n然后再从n到1的最小的花费,注意两次走的边不能有相同的。。。原本单蠢的以为求一遍最短路,然后把边给删掉。。然后在跑一遍。后来想想不行啊,这样第一次的最短路会造成第二次回去无路可走。其实关键是在求第二次的最短路的时候我们要对图进行一下处理,把无向图转变为有向图。我们先把一个... 阅读全文
摘要:
这道题是要判断图中是否存在负环。。。用BF算法。。从0开始松弛存在负环,说明经过n-1次的松弛之后,还可以继续松弛。BF算法#include#include#include#include using namespace std;#define inf 99999999const int maxn=... 阅读全文
摘要:
很裸的一道dijk算法题,因为顶点数太多无法用邻接矩阵表示,所以要用临界表来表示AC代码#include#include#include#include #include#includeusing namespace std;using namespace std;const int maxn=2*... 阅读全文
摘要:
这道题要注意重边问题= =#include#include#include#includeusing namespace std;const int maxn=1000;int G[2*maxn][2*maxn];int f[2*maxn],d[2*maxn];#define inf 1000000... 阅读全文