题意:
给出一个无向图,每条边都已染色(黑/白),问是否存在生成树,该生成树的白色边的数量是正的fibonacci数。
分析:
所给数据中黑边为0,白边为1,那么生成树的白边数量即为生成树的权和。
然后YY了一个做法:求其最小和最大生成树,如果在这个范围内存在fibonacci数则存在。
靠谱的证明方法一直没想出来,这里随便解释下:
对于任意一颗非最大生成树,一定可以取一条白边换一条黑边使其仍然是一颗树。...
                            
                            
                                分类:
其他好文   时间:
2014-10-06 22:01:01   
                                阅读次数:
208
                             
                         
                    
                        
                            
                            
                                最大生成树夹最小生成树,老题目了,依稀当年在成都靠这题捡了个铜。。。。。
Fibonacci Tree
Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1572    Accepted Submission(s): 479...
                            
                            
                                分类:
其他好文   时间:
2014-09-23 23:54:45   
                                阅读次数:
279
                             
                         
                    
                        
                            
                            
                                【原题】http://acm.hdu.edu.cn/showproblem.php?pid=3367【题意】给出一张图,求最大生成树。要求每一个连通块上只能有一个环。【分析】对于Kruskal来说,最小/最大生成树只是改变一下排序顺序即可。这里需要另外注意添加的就是对环的判断了:如果两个节点不在同一...
                            
                            
                                分类:
其他好文   时间:
2014-09-09 20:04:29   
                                阅读次数:
161
                             
                         
                    
                        
                            
                            
                                题目大意是,给定N个顶点,M条边,两个顶点之间可能有多条边,求至少删除多少条边才能将该图分成两个子图。
        最小割集,典型的算法Stoer-Wagner,就是那篇论文,这里也就不复制过来了,只是用Prim求最大生成树时,更新的“边”不是普通意义上的边,而是顶点到所有已划分集合中的所有点的边权值和,这里要特别注意~ 直接贴代码~
#include 
#include 
#includ...
                            
                            
                                分类:
其他好文   时间:
2014-08-13 22:33:07   
                                阅读次数:
287
                             
                         
                    
                        
                            
                            
                                Pseudoforest Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1705 Accepted Submission(s): 653 P...
                            
                            
                                分类:
其他好文   时间:
2014-07-30 09:55:43   
                                阅读次数:
213
                             
                         
                    
                        
                            
                            
                                最短路变形或最大生成树变形。
问 目标两地之间能通过的小重量。
用最短路把初始赋为INF,其他为0.然后找 dis[v]=min(dis[u], d);
生成树就是把最大生成树找出来,直到出发和终点能沟通的时候,最小的边就是。
Kruskal:
#include
#include
#include
#include
#include
#include
#include...
                            
                            
                                分类:
其他好文   时间:
2014-07-19 23:22:59   
                                阅读次数:
236
                             
                         
                    
                        
                            
                            
                                最大生成树。
最小生成树改一下排序即可。
本题还要判断是否能生成树。扫描一下各个点是否并在一起即可。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x7fffffff
#define eps...
                            
                            
                                分类:
其他好文   时间:
2014-07-06 09:24:03   
                                阅读次数:
261
                             
                         
                    
                        
                            
                            
                                [条件转换] 
两两之间有且只有一条简单路径树题意:一个图中有两种边,求一棵生成树,使得这棵树中的两种边数量相等。思路:可以证明,当边的权是0或1时,可以生成最小生成树到最大生成树之间的任意值的生成树。那么,方法就是生成最小生成树,然后,尽量替换0边,使得其成为值为(n-1)/2的生成树。代码:写的很...
                            
                            
                                分类:
其他好文   时间:
2014-06-29 07:42:58   
                                阅读次数:
241
                             
                         
                    
                        
                            
                            
                                题目来源:HDU 3367 Pseudoforest
题意:每个连通块最多可以有一个环 求最大的森林
思路:考虑最大生成树 如果祖先一样没有环 那就合并 如果祖先不一样 如果2棵树都没有环 合并 如果有1棵树有环 合并 标记该棵树有环
#include 
#include 
#include 
using namespace std;
const int maxn = 100010;
str...
                            
                            
                                分类:
其他好文   时间:
2014-06-05 05:35:03   
                                阅读次数:
261
                             
                         
                    
                        
                            
                            
                                题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3367
题意:在图论中,如果一个森林中有很多连通分量,并且每个连通分量中至多有一个环,那么这个森林就称为伪森林。
   现在给出一个森林,求森林包含的最大的伪森林,其大小通过所有边的权值之和来比较。
分析:1、一开始想的是:在每个连通分量中求一个最大生成树,然后加一条最大的边,再把每个连通分量算出...
                            
                            
                                分类:
其他好文   时间:
2014-05-14 20:19:51   
                                阅读次数:
230