1.先初始化都设置成道路最大值,然后自己到自己是0; 2.接着读取信息,修了路就是0不需要花钱,没修就存权值。 3.开始普利姆算法 while没有访问完,就一直循环 从dis里面选最小的。 内部,先更新联通剩余点的最小的权,放在min里面。 然后修路修最短的那个。 接着修完路就可以更新最小dis, 本文参与腾讯云自媒体...
int sum = 0;//输出最小值 while(count < n){ int min = inf,d = 0; for(int i = 1;i <= n;i ++)if(vis[i] == 0&&dis[i] < min)min = dis[i],d = i;//更新最小 vis[d] = 1;count ++;sum += min;//更新值 for(int i = 1;i <= n;i ++)if(vis[i] == 0&&dis...
PTA 7-2 畅通工程之局部最小花费问题 (35分) 某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的...
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 79501 Accepted Submission(s): 30582 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路...
输出给出一个整数,表示在最大朋友圈中有多少人。 输入样例: 7 4 3 1 2 3 2 1 4 3 5 6 7 1 6 1. 2. 3. 4. 5. 输出样例: 4 1. 总算抽空写了一下并查集。 先放答案后面是我的分析 #include<iostream> #include<cstring> using namespace std; ...