摘要:
北大oj1182rank[x]=0 表示节点x与father[x]为同类1 表示节点x吃father[x]2表示x被father[x]吃向量的思考模式AB=rank[a],CB=rank[c];BC=-rank[c];a与c的关系为rank[a]-rank[c];判断两个节点点a, b的关系. (1)如果ra != rb,说明a, b暂时没有关系,那么关于他们的判断都是正确的,然后合并这两个子树。这里是关键,如何合并两个子树使得合并后的新树能保证正确呢?( 将a所在的子树合并到b上)s表示 a与b的关系 s=rank[a]+rank[f1]-rank[b] rank[f1]= s-rank[a 阅读全文
posted @ 2012-07-17 20:23
zlyblog
阅读(204)
评论(0)
推荐(0)
摘要:
杭电1233本题首先要判断两个村庄距离是否最短,其次,两村庄是否联通,即其根结点是否相同;方法是将有联系的村庄编号存为数组,将其距离存为对应值,找出不同根结点之间的最小距离,然后相加,得出需建的最短公路;View Code 1 //杭电1233 2 //C++提交 3 #include<stdio.h> 4 #include<string.h> 5 #define Max 65535 6 int n; 7 int f[101][101],set[101]; 8 void power() 9 {10 int i,j,min=f[1][1],k=0,x=1,y=1,totl 阅读全文
posted @ 2012-07-17 10:42
zlyblog
阅读(310)
评论(0)
推荐(0)

浙公网安备 33010602011771号