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

网站指向邮箱超链接怎么做中国地图36个省的地图

网站指向邮箱超链接怎么做,中国地图36个省的地图,广东网页空间租赁,叮当app制作平台下载文章目录 前言Part 1#xff1a;Prim算法求最小生成树1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2#xff1a;Kruskal算法求最小生成树1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客介绍两种求最小生成树的方法#xff… 文章目录 前言Part 1Prim算法求最小生成树1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2Kruskal算法求最小生成树1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客介绍两种求最小生成树的方法即Prime算法和Kruskal算法。Prime算法用于稠密图也可以与Dijkstra类似用堆优化详见《图论 - 最短路Dijkstra、Bellman-Ford、SPFA、Floyd》用于稀疏图但是稀疏图的时候求最小生成树Kruskal 算法更加实用所以本篇博客将不介绍堆优化的Prime算法。即稠密图用朴素Prime算法稀疏图用Kruskal 算法即可。 Part 1Prim算法求最小生成树 1.题目描述 给定一个 n 个点 m 条边的无向图图中可能存在重边和自环边权可能为负数。 求最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。 给定一张边带权的无向图 G(V,E)其中 V 表示图中点的集合E 表示图中边的集合n|V|m|E|。 由 V 中的全部 n 个顶点和 E 中 n−1 条边构成的无向连通子图被称为 G 的一棵生成树其中边的权值之和最小的生成树被称为无向图 G 的最小生成树。 输入格式 第一行包含两个整数 n 和 m。 接下来 m 行每行包含三个整数 u,v,w表示点 u 和点 v 之间存在一条权值为 w 的边。 输出格式 共一行若存在最小生成树则输出一个整数表示最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。 数据范围 1≤n≤500, 1≤m≤105, 图中涉及边的边权的绝对值均不超过 10000。 输入样例 4 5 1 2 1 1 3 2 1 4 3 2 3 2 3 4 4输出样例 62.算法 prim 算法采用的是一种贪心的策略prim 算法做的事情是给定一个无向图在图中选择若干条边把图的所有节点连起来。要求边长之和最小。在图论中叫做求最小生成树每次将离连通部分的最近的点和点对应的边加入的连通部分连通部分逐渐扩大最后将整个图连通起来并且边长之和最小与Dijkstra算法求最短路唯一的区别在于所求距离并非该点到源点的距离详见《图论 - 最短路Dijkstra、Bellman-Ford、SPFA、Floyd》而是该点到已选点集合的最短距离 #include iostream #include cstring #include algorithm using namespace std;const int N 510; int g[N][N];//存储图 int dt[N];//存储各个节点到生成树的距离 int st[N];//节点是否被加入到生成树中 int pre[N];//节点的前去节点 int n, m;//n 个节点m 条边void prim() {memset(dt,0x3f, sizeof(dt));//初始化距离数组为一个很大的数10亿左右int res 0;dt[1] 0;//从 1 号节点开始生成 for(int i 0; i n; i)//每次循环选出一个点加入到生成树{int t -1;for(int j 1; j n; j)//每个节点一次判断{if(!st[j] (t -1 || dt[j] dt[t]))//如果没有在树中且到树的距离最短则选择该点t j;}//如果孤立点直返输出不能然后退出if(dt[t] 0x3f3f3f3f) {cout impossible;return;}st[t] 1;// 选择该点res dt[t];for(int i 1; i n; i)//更新生成树外的点到生成树的距离{if(dt[i] g[t][i] !st[i])//从 t 到节点 i 的距离小于原来距离则更新。{dt[i] g[t][i];//更新距离pre[i] t;//从 t 到 i 的距离更短i 的前驱变为 t.}}}cout res;}void getPath()//输出各个边 {for(int i n; i 1; i--)//n 个节点所以有 n-1 条边。{cout i pre[i] endl;// i 是节点编号pre[i] 是 i 节点的前驱节点。他们构成一条边。} }int main() {memset(g, 0x3f, sizeof(g));//各个点之间的距离初始化成很大的数cin n m;//输入节点数和边数while(m --){int a, b, w;cin a b w;//输出边的两个顶点和权重g[a][b] g[b][a] min(g[a][b],w);//存储权重}prim();//求最下生成树//getPath();//输出路径return 0; }Part 2Kruskal算法求最小生成树 1.题目描述 给定一个 n 个点 m 条边的无向图图中可能存在重边和自环边权可能为负数。 求最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。 给定一张边带权的无向图 G(V,E)其中 V 表示图中点的集合E 表示图中边的集合n|V|m|E|。 由 V 中的全部 n 个顶点和 E 中 n−1 条边构成的无向连通子图被称为 G 的一棵生成树其中边的权值之和最小的生成树被称为无向图 G 的最小生成树。 输入格式 第一行包含两个整数 n 和 m。 接下来 m 行每行包含三个整数 u,v,w表示点 u 和点 v 之间存在一条权值为 w 的边。 输出格式 共一行若存在最小生成树则输出一个整数表示最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。 数据范围 1≤n≤105, 1≤m≤2∗105, 图中涉及边的边权的绝对值均不超过 1000。 输入样例 4 5 1 2 1 1 3 2 1 4 3 2 3 2 3 4 4输出样例 62.算法 prim 算法采用的是一种贪心的策略将所有边按照权值的大小进行升序排序然后从小到大一一判断如果这个边与之前选择的所有边不会组成回路用并查集判断就选择这条边分反之舍去直到具有 n 个顶点的连通网筛选出来 n-1 条边为止筛选出来的边和所有的顶点构成此连通网的最小生成树 #include iostream #include cstring #include algorithmusing namespace std;const int N 100010;int p[N];//保存并查集struct E {int a;int b;int w;//通过边长进行排序bool operator (const E rhs){return this-w rhs.w;}}edg[N * 2];int res 0; int n, m; int cnt 0;//并查集找祖宗 int find(int a) {if(p[a] ! a) p[a] find(p[a]);return p[a]; }void klskr() {//依次尝试加入每条边for(int i 1; i m; i){int pa find(edg[i].a);// a 点所在的集合int pb find(edg[i].b);// b 点所在的集合//如果 a b 不在一个集合中if(pa ! pb){res edg[i].w;//a b 之间这条边要p[pa] pb;// 合并a bcnt ; // 保留的边数量1}} }int main() {cin n m;for(int i 1; i n; i) p[i] i;//初始化并查集//读入每条边for(int i 1; i m; i){int a, b , c;cin a b c;edg[i] {a, b, c};}sort(edg 1, edg m 1);//按边长排序klskr();//如果保留的边小于点数-1则不能连通if(cnt n - 1) {cout impossible;return 0;}cout res;return 0; }
http://www.zqtcl.cn/news/777876/

相关文章:

  • 怎么区分网站是模板做的Wordpress福利资源模板
  • 文案类的网站最新域名网站
  • 网站seo优化效果智能营销系统开发
  • 国外做储物的网站个人网站建设在哪里
  • 北京高端网站设计外包公司不用代码做网站的工具
  • 网站开发交付资料广告设计公司经营范围
  • 如何建立一个好的网站wordpress 看不到主题
  • 古典网站织梦模板云南app软件开发
  • 网页设计与网站建设期末考试wordpress文章页面图片自动适应
  • 网站建设费要交印花税吗国内ui网站
  • wordpress安装在本地专业seo网络推广
  • 农庄网站模板网络文化经营许可证图片
  • 微信做模板下载网站有哪些内容江苏省常州建设高等职业技术学校网站
  • 网站开发补充合同范本docker 部署wordpress
  • 学会了php的语法怎么做网站海外推广媒体
  • 东莞网站建设排行企业网站开发公司大全
  • wordpress商城必备软件重庆seo优化推广
  • 蚌埠百度做网站山东省无障碍网站建设标准
  • 平乡企业做网站流量精灵官网
  • 厦门做网站优化公司wordpress cx-udy
  • 做外汇门户网站WordPress推广返佣插件
  • c语言在线编程网站学生个人网页设计作品
  • 南阳网站排名优化报价wordpress视频付费
  • 政务新网站建设ipv6改造wordpress
  • 店招免费设计在线生成网站seo优化关键词快速排名上首页
  • 毕设做系统与网站答辩wordpress个人模板
  • 农家乐网站建设wordpress改变访问目录结构
  • 单位网站建设的重要性盐城城南建设局一局网站
  • 网站登录验证码显示不出来刘强东当年做网站读的什么书
  • 网站seo优化步骤动态ip可以做网站