当前位置: 首页 > news >正文

宿迁网站建设推广公司学校模板图片

宿迁网站建设推广公司,学校模板图片,建立百度网站,建设医院网站服务一.题目 P1550 [USACO08OCT] Watering Hole G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 二.分析 1.我们是要使所有的农场都要有水 2.可以从起点引水,也可以互相引水。 3.费用要最小 这时我们可以想到最小生成树,建立一个虚拟节点即可。思路一…

一.题目

P1550 [USACO08OCT] Watering Hole G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)


二.分析

1.我们是要使所有的农场都要有水

2.可以从起点引水,也可以互相引水。

3.费用要最小

这时我们可以想到最小生成树,建立一个虚拟节点即可。思路一目了然。


三.参考代码

#include<bits/stdc++.h>
#define maxn 91000
using namespace std;
struct Edge{int u,v,w;
}edge[maxn];
int n,cnt;
int fa[305];
int find(int x){return x==fa[x] ? x :fa[x]=find(fa[x]);
}
void merge(int x,int y){int fx=find(x),fy=find(y);fa[fx]=fy;
}
bool cmp(Edge a,Edge b){return a.w<b.w;
}
long long ans;
void kruskal(){sort(edge+1,edge+cnt+1,cmp);int tot=0;for(int i=1;i<=cnt;i++){int x=edge[i].u,y=edge[i].v;if(find(x)==find(y)) continue;tot++;ans+=edge[i].w;merge(x,y);if(tot==n) return;}
}
int main(){scanf("%d",&n);int w;for(int i=1;i<=n;i++){scanf("%d",&w);edge[++cnt]=(Edge){0,i,w};}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){scanf("%d",&w);if(w!=0){edge[++cnt]=(Edge){i,j,w};}}}for(int i=1;i<=n;i++) fa[i]=i;kruskal();cout<<ans;return 0;
}

四.总结

当看到这些条件,可以想到最小生成树

1.涉及到每个节点

2.最小/最大的值

3.一般都要用到虚拟节点,以处理初始点

http://www.bjxfkj.com.cn/article/107749.html

相关文章:

  • dw可以做有后台的网站么?张裕网站建设的目标
  • 在哪个平台做网站好黄冈seo顾问
  • 织梦网站建设案例手册制作
  • 六盘水市城乡建设局网站艾奇视觉网站建设
  • 用ps制作网站首页373网站怎么做这样的网站
  • 现在什么类型网站没有人做有哪些做公司网站的
  • 顺义企业网站建站公司环球军事新闻最新消息
  • 石排仿做网站深圳创意网站设计
  • 小公司做网站用哪种服务器WordPress主题怎么保存
  • 景区建设网站的不足5118站长平台
  • 免费行情软件在线观看网站首页优化公司
  • 有关网站建设合同wordpress专题页面
  • 网站的百度推广怎么做的wordpress插件wp
  • 洛阳制作网站公司吗网站建设要多少费用
  • 网站建设明细报价表 服务器开发软件app下载
  • 网站建设协议 模板下载怎么利用网站做cpa推广
  • 重庆怎样网站推广百度站长平台查询
  • 不中网站建设公司坑深圳商城网站设计推荐
  • 域名交易网站源代码下载商丘网红打卡地
  • 深圳市深圳市住房和建设局网站首页编辑网站在线注册系统
  • 网上订餐网站模板广告安装接单app
  • 合肥网站seo优化排名公司网站子目录设计
  • 做期货应该看的网站wordpress is page
  • 查看网站历史页面手机集团网站建设
  • 网站使用自己的服务器网络空间测绘
  • 网站大学报名官网入口网站设计风格的关键词
  • 网站服务器天付wordpress 登录背景
  • 淘宝联盟优惠券网站建设在微信上怎么开店
  • 临沂谁会做网站服务器部署php网站
  • 福建省闽侯县建设局网站四川广汇建设有限公司网站