MST......
2015-11-03 11:33
302 查看
Kruskal
#include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> using namespace std; struct jc{ int fm,to,dist; }e[3000]; int f[3000],g[1001][1001],n,ans=0,m,maxint=1073741824; int find(int x) { if (f[x]!=x) f[x]=find(f[x]); return f[x]; } //路径压缩 void merge(int x,int y){ int xx=find(x); int yy=find(y); f[xx]=yy; } bool cmp(jc a,jc b){ return a.dist<b.dist; } //cmp int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++) scanf("%d%d%d",&e[i].fm,&e[i].to,&e[i].dist); sort(e+1,e+m+1,cmp); for(int i=1;i<=n;i++) f[i]=i; int rst=n;//用于记录加入的边 for(int i=1;i<=m && rst>1;i++) { int x=e[i].fm,y=e[i].to; if(find(x)!=find(y))//查 { merge(x,y);//并 rst--; ans+=e[i].dist; } } printf("%d",ans); return 0; }
相关文章推荐
- Android TextView显示中文不对齐问题
- intellij idea tomcat jsp 热部署
- ubuntu12.04 更新源
- Content-Based Publish Subscribe 之 Padres
- Guava 学习之路
- LeetCode--Excel Sheet Column Title
- 移动端overflow:hidden出现不兼容
- centos7安装配置vsftp
- mybatis批量插入
- MySQL高可用性大杀器之MHA
- zip乱码
- android开发实例时间戳转时间
- Jquery效果大全
- React 组件之间 事件调用(父组件调用子组件)
- FragmentPagerAdapter和FragmentStatePagerAdapter的区别
- 修改 PhpStorm 的字体和样式
- 103岁国宝级医生养生秘笈
- 通过网络图片地址来访问图片的实现方法!
- 浅谈软件性能测试中关键指标的监控与分析(转)
- Android版本分布数据源