摘要:hdu4738:http://acm.hdu.edu.cn/showproblem.php?pid=4738题意:抽象出来就是求一条边权最小的割边。题解:直接用tarjan即可破。但是如果只注重这里你就错了,就是边权为0 的桥也要一个人去炸。 1 #pragma comment(linker,"/S...
阅读全文
摘要:poj1904:http://poj.org/problem?id=1904题意:国王有n个儿子,现在这n个儿子要在n个女孩里选择自己喜欢的,有的儿子可能喜欢多个,最后国王的向导给出他一个匹配,匹配有n个数,代表某个儿子和哪个女孩可以结婚,已知这些条件,要你找出每个儿子可以和哪些女孩结婚题解:首先儿...
阅读全文
摘要:hdu4685:http://acm.hdu.edu.cn/showproblem.php?pid=4685题意:有n个王子和m个公主,每个王子都会喜欢若干个公主,也就是王子只跟自己喜欢的公主结婚公主就比较悲惨, 跟谁结婚都行,然后输出王子可能的结婚对象。题解:这一题看了题解之后,也还是只知道是怎么...
阅读全文
摘要:hdu4635:http://acm.hdu.edu.cn/showproblem.php?pid=4635题意:给你一个有向图,然后问你最多可以加多少条边,是的原图不是一个强连通图。题解:这一题确实不会,图论做的太少了,一下是一个人分析,觉得分析的很不错,代码也是看别人的。首先强连通缩点,缩点之后...
阅读全文
摘要:hdu4619:http://acm.hdu.edu.cn/showproblem.php?pid=4619题意:题目大意:给你两种纸牌 ,一种水平放置共有n张 ,一种竖直放置共有m张。水平放置的纸牌占据点(x, y)和(x + 1 , y) , 竖直放置的纸牌占据点(x , y) 和 (x , y...
阅读全文
摘要:hdu4612:http://acm.hdu.edu.cn/showproblem.php?pid=4612题意:给你一个无向连通图,问加上一条边后得到的图的最少的割边数;题解:首先对原图求割边数,然后缩点之后建树,然后求树的直径。因为加上一条边,能消耗最大的割边就是树的直径。一道很好的模板题目。 ...
阅读全文
摘要:zoj3630:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3630题意:给你一张图,然后让你选择一个点,并且删除它,让图的最大连通分量最小。题解:模板题。枚举每个点,然后求最大的连通分量。 1 #include 2 #i...
阅读全文
摘要:一:一般欧拉回路的判定。注意:判断欧拉回路之前要先判断图的连通性,只有满足图是连通的前提下,才进行以下判断。 无向图:统计每个点的度数,若图中没有度数为奇数的顶点,则存在欧拉回路,否则不存在。 有向图:统计每个点的初度和入度,若每个点的初度和入度都相等则存在欧拉回路,否则不存在。二:一般欧拉通路的判...
阅读全文
摘要:poj2337:http://poj.org/problem?id=2337题意:给定一些单词,如果一个单词的尾字母与另一个的首字母相同则可以连接。问是否可以每个单词用一次,将所有单词连接,可以则输出字典序最小的序列。 题解:并查集+欧拉通路+贪心思维+dfs ,这一题我也是参考了别人的代码。 ps:vector的使用 ,内部堆栈的使用 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 struct Node{ 9 int v; 10...
阅读全文
摘要:poj1386:http://poj.org/problem?id=1386题意:给你n个单词,问你是否能够通过调整单词的顺序存在这样的一个序列,使得 每个单词的首字母是前一个单词的尾字母。题解:每个单词可以看做从首字母连向尾字母的一条边,然后就是整个图的欧拉路径。统计每个点的入度和初度,如果基图连通,并且只有两个点入度和初度不等,并且相差分别为1,-1,就存在这样的路径,否则则没。 连通性,可以用并查集. 处理完之后,看每个点的父亲是否相等来判断是否连通。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; .
阅读全文
摘要:poj1300:http://poj.org/problem?id=1300题意:给你n个房间,房间之间有一些门,房间是按0~~n-进行编号的。然后给出一些房间的之间门,n行,每行的数字表示该们与其它们之间是否有门,而且只表示出比他大的房间号。然后给你一个起点,问你从起点出发,然后经过所有的房间回到0点,房间之间可能有多道门。题解:题目描述的可能不是很清楚,题目是要求一条欧拉回路。源点是0点,可以从起点到达源点之后,看看能否经过每个房间回到0点。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int r
阅读全文