1016. Uniqueness of MST (35)
来源:互联网 发布:java iterator next 编辑:程序博客网 时间:2024/06/06 17:14
感想:
krusual算法(可能拼错了 逃。。。
注意点,判断是否唯一条件:如果在用krusual算法的时候运行到某条边时,发现至少有两条边权重相同且都可以加入,我们假设为1边和2边,然后你添加了1边,运行到最后结果你发现2边并不在最后的MST中,那你就想,如果我那个时候添加的是2边而不是1边,那应该有一个不一样的BST
故MST唯一的充要条件:如果MST唯一,那么运行到某步时,当某些权重相同的边都可以加入的时候,这些边一定要在最终的MST中
附:
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std;struct edge{int n1,n2;long long w;int isin;//用于判断在某一步时是否可以选择加入 bool operator<(edge &a){return w<a.w;}}e[513*263]; int isread[513];int find(int i){if(isread[i]==0)return i;return isread[i]=find(isread[i]);}void unino(int i,int j){//并查集 if(find(i)!=find(j))isread[find(i)]=find(j);}int main(){int N,M,i,j=0;long long wALL=0;int ISUNIQUE=0;cin>>N>>M;for(i=0;i<M;i++)cin>>e[i].n1>>e[i].n2>>e[i].w;sort(e,e+M);for(i=0;i<M;i++){if(find(e[i].n1)!=find(e[i].n2)){j=i;while(i!=M-1){if(e[i+1].w==e[i].w){if(find(e[i+1].n1)!=find(e[i+1].n2))e[i+1].isin=1;}else break;i++;}i=j;unino(e[i].n1,e[i].n2);wALL+=e[i].w;}else if(e[i].isin==1)ISUNIQUE=1;}j=0;for(i=1;i<=N;i++){if(isread[i]==0)j++;}if(j==1){cout<<wALL<<endl;if(ISUNIQUE)cout<<"No"<<endl;elsecout<<"Yes"<<endl;}elsecout<<"No MST"<<endl<<j<<endl;}
0 0
- 1016. Uniqueness of MST (35)
- 1016. Uniqueness of MST (35)
- pat-top 1016. Uniqueness of MST (35)
- 1016. Uniqueness of MST (35)解题报告
- PAT (Top Level) Practise 1016 Uniqueness of MST (35)
- 【次小生成树】PAT (Top Level) 1016 Uniqueness of MST (35)
- The Uniqueness of Software Engineering: The Dual Formalizations
- 20060410-Quick tip: Determining uniqueness of local maximum
- array summation and merging based on uniqueness of element at certain position + ruby arrays
- POJ 2395 Out of Hay (MST)
- MST
- MST
- MST......
- mst
- MST
- MST
- MST
- constraint name uniqueness
- spring schedule定时任务
- 测试时查看apk的包和Activity方式
- IOC实现之BeanFactory体系结构(一)
- list
- 工具优化(4)-- eclipse安装JAVA反编译插件
- 1016. Uniqueness of MST (35)
- 一款新型立体视觉传感器
- pom.xml报错Plugin execution not covered by lifecycle configuration
- codevs 1204 寻找子串位置
- JVM监控分析方法总结,JVM监控分析工具推荐,JVM监控命令,JVM监控工具大全
- 对象数组
- 一个好汉三个帮,一个Hadoop三个桩
- 40岁程序员真的要被淘汰了么?
- 扩展jquery easyui tree的搜索树节点方法