摘要:        
http://wikioi.com/problem/1231/Kruskal+并查集。comp函数里面如果用const引用的话,可以减少copy。并查集find的时候是递归找父亲的根。无他。#include #include #include #include #include #include #define MAX(a, b) a>b?a:b#define LEN 100005using namespace std;struct Edge { int a; int b; int val;};int n, m;Edge edges[LEN];int father[LEN];...    阅读全文
posted @ 2013-10-24 23:12
阿牧遥
阅读(210)
评论(0)
推荐(0)
        
            
        
        
摘要:        
http://wikioi.com/problem/2833/拓扑排序,居然1A,哈哈。#include #include #include #include #include #include #define MAX(a, b) a>b?a:b#define LEN 105using namespace std; int main(){ int n, m; scanf("%d%d", &n, &m); vector > graph(n+1); vector indegree(n+1); vector visit(n+1); int ans =     阅读全文
posted @ 2013-10-24 22:23
阿牧遥
阅读(204)
评论(0)
推荐(0)
        
            
        
        
摘要:        
http://wikioi.com/problem/1077/Floyd算法。精华是三层循环,if (dist(i,k) + dist(k,j) 0,通过分析可以得到:中间顶点不超过k的i到j的最短路径有两种可能:该路径含或不含中间顶点k。状态转移方程:c[i,j,k]=min{c[i,j,k-1], c[i,k,k-1]+c[k,j,k-1]},k>0。所以我们平时看到的Floyd算法就是该动态规划的精简版。#include #include #include #include #define MAX(a, b) a>b?a:b#define LEN 105using namespac    阅读全文
posted @ 2013-10-24 22:03
阿牧遥
阅读(226)
评论(0)
推荐(0)
        
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号