这个题就是建图费点劲,别的和我上一篇博客一样 然后,参考思路请戳这里http://www.cnblogs.com/wally/archive/2013/09/12/3317883.html 补充:这个思路是对的,然后请注意虚拟只和现实的连接,虚拟的不会和虚拟连接 这样可以保证如果在同一连通分量内,还会形成完美匹配,而且原最大匹配也不会有影响 #include <iostream> #include <cstdio> #include <cstdlib> #include…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4685 题意:n个王子和m个公主,王子只能和他喜欢的公主结婚,公主可以和所有的王子结婚,输出所有王子可能的结婚对象, 必须保证王子与任意这些对象中的一个结婚,都不会影响到剩余的王子的配对数,也就是不能让剩余的王子中突然有一个人没婚可结了. 分析:这题是poj 1904的加强版,poj 1904的王子和公主数是相等的,这里可以不等,且poj 1904给出了一个初始完美匹配,但是这题就要自己求. 所以只要…
传送门:Problem 4685 https://www.cnblogs.com/violet-acmer/p/9739990.html 参考资料: [1]:二分图的最大匹配.完美匹配和匈牙利算法 [2]:http://www.cnblogs.com/frog112111/p/3387173.html 题意: n个王子和m个公主,王子只能和他喜欢的公主结婚,公主可以和所有的王子结婚,输出所有王子可能的结婚对象. 必须保证王子与任意这些对象中的一个结婚,都不会影响到剩余的王子的配对数,也就是不能让…
题目链接 考虑建立原图的补图,即如果两个骑士不互相憎恨,就在他们之间连一条无向边. 显而易见的是,如果若干个骑士在同一个点数为奇数的环上时,他们就可以在一起开会.换句话说,如果一个骑士被一个奇环包含,那么他就一定可以去开会. 想到环,我们就可以考虑无向图的双联通分量. 当我们用Tarjan算法求出无向图上的双联通分量后再来考虑这一道题时,我们就可以得出两个结论: 1.如果两个骑士分别在两个不同的双联通分量里,那么他们就不可能在一起开会. 这一个结论是很明显的.因为将每个双联通分量缩点后,新图一定…
http://www.cnblogs.com/zxndgv/archive/2011/08/06/2129333.html 这位神说的很好 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <string> #include <stack> #include <ve…
题意:有N个人要参加会议,围圈而坐,需要举手表决,所以每次会议都必须是奇数个人参加.有M对人互相讨厌,他们的座位不能相邻.问有多少人任意一场会议都不能出席. 分析:给出的M条关系是讨厌,将每个人视作点,在没有讨厌关系的人之间连边. 问题中很重要的一点是:任意一场会议都不能参加.能够参加某一场会议就意味着,参加会议的人可以构成一个奇回路(他们要围圈而坐,且必须出席奇数个人).那么问题就转化成了求有多少个点不在任意一个奇回路中. 简单圈上的所有结点都属于同一个点双连通分量,因此找出所有的点双连通分量…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4685 题意:给出n个王子和m个公主.每个王子有一些自己喜欢的公主可以匹配.设最大匹配为M.那么对于每个王子,可以选择哪些自己喜欢的公主使得选择之后最大匹配仍为M? 思路:(1)首先,想到的一个方法是先求一次最大匹配.然后枚举每个王子喜欢的公主作为该王子的匹配,判断能否为之前匹配该公主的王子重新找到一个匹配.这样的复杂付太大. (2)改进:做法是先求一次最大匹配设为cnt,那么左边有n-cnt个王子还…
一.dfs框架: vector<int>G[maxn]; //存图 int vis[maxn]; //节点访问标记 void dfs(int u) { vis[u] = ; PREVISIT(u); //访问节点u之前的操作 int d = G[u].size(); ; i < d; i++)//枚举每条边 { int v = G[u][i]; if(!vis[v])dfs(v); } POSTVISIT(u); //访问节点u之后的操作 } 二.无向图连通分量 void find_cc…
Prince and Princess Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1267    Accepted Submission(s): 358 Problem Description There are n princes and m princesses. Princess can marry any prince. B…
Prince and Princess Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 150    Accepted Submission(s): 46 Problem Description There are n princes and m princesses. Princess can marry any prince. But…