次小生成树题(k) poj1679The Unique MST
http://poj.org/problem?id=1679
- #include<iostream>
- #include<vector>
- #include<cstdio>
- #include<cstring>
- #include<algorithm>
- using namespace std;
- struct node{
- int u,v,w;
- }e[];
- int f[];
- vector<int>vis;
- bool cmp(node p,node q){
- return p.w<q.w;
- }
- int find(int x){
- return x==f[x]?x:f[x]=find(f[x]);
- }
- int main(){
- int t;
- scanf("%d",&t);
- while(t--){
- int n,m,ans=;
- vis.clear();
- scanf("%d%d",&n,&m);
- for(int i=;i<=m;i++){
- int u,v,w;
- scanf("%d%d%d",&u,&v,&w);
- e[i].u=u;
- e[i].v=v;
- e[i].w=w;
- }
- sort(e+,e++m,cmp);
- for(int i=;i<=n;i++)
- f[i]=i;
- for(int j=,i=;i<=m;i++){
- int u=e[i].u,v=e[i].v;
- int a=find(u),b=find(v);
- if(a!=b){
- f[a]=b;
- j++;
- ans+=e[i].w;
- vis.push_back(i);
- }
- if(j==n-)
- break;
- }
- int flag=;
- for(int k=;k<vis.size();k++){
- int sign=vis[k];
- int ans1=;
- for(int i=;i<=n;i++)
- f[i]=i;
- int j=;
- for(int i=;i<=m;i++){
- if(i!=sign){
- int u=e[i].u,v=e[i].v;
- int a=find(u),b=find(v);
- if(a!=b){
- f[a]=b;
- ans1+=e[i].w;
- j++;
- }
- if(j==n-)
- break;
- }
- }
- if(j==n-){
- if(ans1==ans){
- flag=;
- break;
- }
- }
- }
- if(flag)
- puts("Not Unique!");
- else
- printf("%d\n",ans);
- }
- return ;
- }
次小生成树题(k) poj1679The Unique MST的更多相关文章
- K - The Unique MST
K - The Unique MST #include<iostream> #include<cstdio> #include<cstring> #include& ...
- POJ1679The Unique MST(次小生成树)
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 25203 Accepted: 8995 D ...
- poj1679The Unique MST(次小生成树模板)
次小生成树模板,别忘了判定不存在最小生成树的情况 #include <iostream> #include <cstdio> #include <cstring> ...
- K - The Unique MST - poj 1679
题目的意思已经说明了一切,次小生成树... ****************************************************************************** ...
- POJ--1679--The Unique MST【推断MST是否唯一】
链接:http://poj.org/problem? id=1679 题意:告诉你有n个点,m条边,以及m条边的信息(起点.终点.权值).推断最小生成树是否唯一 之前是用另外一种方法做的.复杂度最高可 ...
- K - The Unique MST (最小生成树的唯一性)
Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spann ...
- POJ1679 The Unique MST 【次小生成树】
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20421 Accepted: 7183 D ...
- POJ-1679.The Unique MST.(Prim求次小生成树)
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 39561 Accepted: 14444 ...
- poj 1679 判断MST是不是唯一的 (次小生成树)
判断MST是不是唯一的 如果是唯一的 就输出最小的权值和 如果不是唯一的 就输出Not Unique! 次小生成树就是第二小生成树 如果次小生成树的权值和MST相等 那么MST就不是唯一的 法一: ...
随机推荐
- 题解 P1082 【同余方程】
题目 这里给出非递归的 exgcd 做法 [基础] ( 只需要非递归的同学麻烦跳过 ) 由于欧几里德算法 ( 又名辗转相除法 ) 可以帮助我们求出最大公约数,并且提出对于 \(\forall a,b\ ...
- 查看电脑连接的WiFi的密码
这里提供两种办法:图形界面操作版.命令行操作版 方法一: 打开控制面板 点击红色框部分 方法二 打开命令行:输入命令netsh wlan show profiles "连接的WiFi的名称& ...
- 解决XML警告"No grammar constraints (DTD or XML Schema) referenced in the document"
解决办法: 顶部有这两行信息即可解决警告: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 正则表达式
下表中的正则模式可应用于 REGEXP 操作符中. 实例 查找name字段中以'st'为开头的所有数据: mysql> SELECT name FROM person_tbl WHERE nam ...
- dockerfile---apt-get install vim 时 Unable to locate package vim
在学习 dockerfile 的时候,发现编写的 Dockerfile 中的 apt-get install 命令无法找到要安装的包,所以记录一下这次发生的错误. 环境:宿主机:windows 10 ...
- elasticsearch-logstash
1.logstash介绍 logstash 是ES 下的一款开源软件.用于数据采集,就是从Mysql等数据源采集数据.更新数据.然后将数据发送到ES中创建.更新索引 2.安装 演示环境是windows ...
- HttpClient4.x 上传文件
https://blog.csdn.net/wsdtq123/article/details/78888734
- 重载(overloading)和重写@Override
一.重写:@Override 定义:字类方法覆盖父类方法,通俗来说就是方法里面的内容可以不一样,其他都一样. (1)必须保证权限大于等于父类的权限public>protetcted>默认& ...
- Spring Boot 中集成 Shiro
https://blog.csdn.net/taojin12/article/details/88343990
- js 选中div中的文本
function selectText(element) { var text = document.getElementById(element); if (document.body.create ...