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

免费开源企业网站程序软件外包行业

免费开源企业网站程序,软件外包行业,网络推广代理怎么做,软件开发app开发定制外包11图论——最小生成树 A wise man changes his mind, a fool never will 生成树 一个连通图的生成树是一个极小的连通子图#xff0c;它包含图中全部的n个顶点#xff0c;但只有构成一棵树的n-1条边。 最小生成树 在这些边中选择N-1条出来#xff0c;连接所有的N个点。这N-1…图论——最小生成树 A wise man changes his mind, a fool never will 生成树 一个连通图的生成树是一个极小的连通子图它包含图中全部的n个顶点但只有构成一棵树的n-1条边。 最小生成树 在这些边中选择N-1条出来连接所有的N个点。这N-1条边的边权之和是所有方案中最小的。 Prim算法(一般用于稠密图——邻接矩阵) 思想(贪心) 每次将离连通部分的最近的点和点对应的边加入的连通部分连通部分逐渐扩大最后将整个图连通起来并且边长之和最小。 代码 输入格式 第一行包含两个整数 n 和 m。 接下来 m 行每行包含三个整数 u,v,w,表示点 u 和点 v 之间存在一条权值为 w的边。 输出格式 共一行若存在最小生成树则输出一个整数表示最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。 #include iostream #include cstring #include algorithmusing namespace std;const int N 505, INF 0x3f3f3f3f;int g[N][N], dist[N]; int n; bool st[N];int prim() {memset(dist, 0x3f, sizeof dist);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 || dist[t] dist[j]))t j;if (i dist[t] INF) return INF;st[t] true;if (i) res dist[t];for (int j 1; j n; j ) dist[j] min(dist[j], g[t][j]);}return res; }int main() {int m;cin n m;memset(g, 0x3f, sizeof g);while (m --) {int a, b, c;cin a b c;g[a][b] g[b][a] min(g[a][b], c);}int t prim();if (t INF) cout impossible endl;else cout t endl;return 0; }Kruskal 算法(一般用于稀疏图——邻接表) 思想 将所有边按照权值的大小进行升序排序然后从小到大一一判断。如果这个边与之前选择的所有边不会组成回路(并查集)就选择这条边反之舍去。直到具有 n 个顶点的连通网筛选出来 n-1 条边为止。筛选出来的边和所有的顶点构成此连通网的最小生成树。 代码 输入格式 第一行包含两个整数 n 和 m。 接下来 m 行每行包含三个整数 u,v,w表示点 u和点 v 之间存在一条权值为 w的边。 输出格式 共一行若存在最小生成树则输出一个整数表示最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。 数据范围 1 n 1 0 5 1n10^5 1n105 1 m 2 ∗ 1 0 5 1m2*10^5 1m2∗105 图中涉及边的边权的绝对值均不超过 1000。 输入样例 4 5 1 2 1 1 3 2 1 4 3 2 3 2 3 4 4输出样例 6#include cstring #include iostream #include algorithmusing namespace std;const int N 1e5 10, INF 0x3f3f3f3f;struct node {int a, b, w;bool operator (node b)const {return w b.w;} }e[N * 2];int p[N];int find(int x) {if (p[x] ! x)p[x] find(p[x]);return p[x]; }int n, m;int kruskal() {sort(e, e m);for (int i 1; i n; i ) p[i] i;int res 0, cnt 0;for (int i 0; i m; i ) {int a e[i].a, b e[i].b, w e[i].w;a find(a), b find(b);if (a ! find(b)){p[a] p[b]; cnt;res w;}}if (cnt n - 1) return INF;return res; }int main() {cin n m;for (int i 0; i m; i ) {int a, b, w;cin a b w;e[i] {a, b, w};}int t kruskal();if (t INF) cout impossible endl;else cout t endl;return 0; }
http://www.sadfv.cn/news/32214/

相关文章:

  • 怎么制作app网站宁波优化网站排名软件
  • 营销网站建设计划书域名请记住222922
  • 做网站用什么软件最简单图片头像设计制作
  • 做网站可以用php哪里有做手工活的可以拿回家的
  • 做网站拉客户有效吗大连微信网站
  • 广元园区建设投资有限公司网站校园二手信息网站建设
  • 四川建设厅证网站是网站建设服务费的摊销期限
  • 怎么查一个网站的备案信息百度推广平台首页
  • 如何建设网站导航内链接北京企业名录一览表
  • 求制作网站株洲网站建设制作
  • 网站vr用什么做女生适合学什么专业
  • 网站做推广百度好还是360好武陟县住房和城乡建设局网站
  • 建设银行网站点不进去了怎么办淘宝客 网站 备案
  • 梅州市城乡建设部网站首页番禺网站建设效果
  • 网站网站地图怎么做一级a做爰片免网站
  • 做网站最多的行业湖南医院响应式网站建设企业
  • 理县网站建设云安区市场网络营销方法
  • 质量好网站建设加工注册公司网站如何注册
  • 如何设计一个网页网站设计效果专业乐云seo
  • 产品宣传型企业网站怎么建设招远网站建设哪家专业
  • 一 网站开发背景广西建设厅培训中心官网
  • 网站开发应用价值建设城市2的游戏在哪个网站
  • 2018一级a做爰片免费网站价格低用什么词形容
  • 网站制作公司如何运作网站的承诺
  • 安平有做农产品的网站被插件 wordpress
  • 网站搜索引擎优化技术公网ip做网站访问不
  • 潍坊网站的优化品牌建设理论包括哪些内容
  • 做网站的感觉网站建设需要哪些企业资料
  • 网站建设重点是什么外贸商城网站开发书
  • 如何撤销网站上信息万脑网站建设