• 感觉挺简单的,Prim和Dijkstra差不多,Kruskal搞个并查集就行了,直接上代码吧,核心思路都是找最小的边.

  • Prim

    int n,m;
    int g[N][N];
    int u,v;
    int dis[N];
    bool st[N]; int prim(){
    me(dis,INF,sizeof(dis)); int res=0;
    for(int i=0;i<n;++i){
    int t=-1;
    for(int j=1;j<=n;++j){
    if(!st[j] && (t==-1 || dis[t]>dis[j])) t=j;
    }
    if(i && dis[t]==INF) return INF;
    if(i) res+=dis[t]; for(int j=1;j<=n;++j){
    dis[j]=min(dis[j],g[t][j]);
    } st[t]=true;
    }
    return res;
    } int main() {
    scanf("%d %d",&n,&m); me(g,INF,sizeof(g)); for(int i=1;i<=m;++i){
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    g[a][b]=g[b][a]=min(g[a][b],c);
    } int t=prim(); if(t==INF) puts("impossible");
    else printf("%d\n",t); return 0;
    }
  • Kruskal

    struct misaka{
    int a,b;
    int val;
    }e[N]; int n,m;
    int p[N]; bool cmp(misaka n,misaka m){
    return n.val<m.val;
    } int find(int x){
    if(p[x]!=x) p[x]=find(p[x]); return p[x];
    } int main() {
    scanf("%d %d",&n,&m); for(int i=0;i<m;++i){
    int a,b,val;
    scanf("%d %d %d",&a,&b,&val);
    e[i]={a,b,val};
    } sort(e,e+m,cmp); for(int i=1;i<=n;++i) p[i]=i; int res=0;
    int cnt=0; for(int i=0;i<m;++i){
    int a=e[i].a;
    int b=e[i].b;
    int val=e[i].val; a=find(a);
    b=find(b); if(a!=b){
    p[a]=b;
    res+=val;
    cnt++;
    }
    } if(cnt<n-1) puts("impossible");
    else printf("%d\n",res); return 0;
    }

最新文章

  1. sql server中常用方法函数
  2. MIL 多示例学习 特征选择
  3. 【转】Python3.x和Python2.x的区别
  4. Oracle创建用户、表空间并设置权限
  5. grok
  6. Bootstrap学习的点点滴滴
  7. Random Integer Generator
  8. webkit的基本应用
  9. php.ini 全站,和htaccess web目录 默认头部和尾部 auto_prepend_file
  10. IE8 多进程问题
  11. C++——虚函数问题小集
  12. 在React Native中,使用fetch网络请求 实现get 和 post
  13. 笔记本装双系统!win10+Linux!所有的坑自己一个个爬过来,纪念一下。
  14. python使用requests库爬取网页的小实例:爬取京东网页
  15. Android查看appPackage和Activity的多种方法
  16. 洛谷 P3521 ROT-Tree Rotations [POI2011] 线段树
  17. Java中的几种对象(POJO,PO,DTO,DAO,BO)
  18. IM系统架构设计之浅见
  19. Python——eventlet.hubs
  20. WCF服务部署

热门文章

  1. python模块详解 | shutil
  2. 【Linux】使用cryptsetup加密磁盘 策略为LUKS
  3. SparkStreaming和Kafka基于Direct Approach如何管理offset实现exactly once
  4. kettle 连接oracle12c问题解决办法:
  5. Paginator Django 分页 When QuerySets are evaluated QuerySets 执行原理 QuerySets are lazy 惰性执行 访问db取数据的时机
  6. Redis主从、哨兵模式的搭建
  7. loj10005数列极差
  8. LOJ10196越狱
  9. Spring MVC—数据绑定机制,数据转换,数据格式化配置,数据校验
  10. scala 时间,时间格式转换