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

有哪些帮别人做任务赚钱的网站人工智能培训机构排名前十

有哪些帮别人做任务赚钱的网站,人工智能培训机构排名前十,做营销型网站用什么技术,宁波seo教程网题目大意 洛谷中链接 推荐文章:并查集入门 原文 约翰农场的牛群希望能够在 N N N 个草地之间任意移动。草地的编号由 1 1 1 到 N N N。草地之间有树林隔开。牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到任一片其它草地。 牛群可在…

题目大意

洛谷中链接

推荐文章:并查集入门

原文

约翰农场的牛群希望能够在 N N N 个草地之间任意移动。草地的编号由 1 1 1 N N N。草地之间有树林隔开。牛群希望能够选择草地间的路径,使牛群能够从任一 片草地移动到任一片其它草地。 牛群可在路径上双向通行。

牛群并不能创造路径,但是他们会保有及利用已经发现的野兽所走出来的路径(以下简称兽径)。每星期他们会选择并管理一些或全部已知的兽径当作通路。

牛群每星期初会发现一条新的兽径。他们接着必须决定管理哪些兽径来组成该周牛群移动的通路,使得牛群得以从任一草地移动到任一草地。牛群只能使用当周有被管理的兽径做为通路。

牛群希望他们管理的兽径长度和为最小。牛群可以从所有他们知道的所有兽径中挑选出一些来管理。牛群可以挑选的兽径与它之前是否曾被管理无关。

兽径决不会是直线,因此连接两片草地之间的不同兽径长度可以不同。 此外虽然两条兽径或许会相交,但牛群非常的专注,除非交点是在草地内,否则不会在交点换到另外一条兽径上。

在每周开始的时候,牛群会描述他们新发现的兽径。如果可能的话,请找出可从任何一草地通达另一草地的一组需管理的兽径,使其兽径长度和最小。

题目简述

给定 N ( 1 ≤ N ≤ 200 ) N(1≤N≤200) N(1N200) 个节点, 1 ≤ W ≤ 6000 1≤W≤6000 1W6000 条边,第 i ( 1 ≤ i ≤ W ) i(1 \leq i \leq W) i(1iW) 条边包含三个数 x , y , w x,y,w x,y,w,分别表示连接的点和边权。每次输入一条边后输出当前最小生成树的边权和,若无解输出 -1

样例输入

4 6	 	 
1 2 10	 	 
1 3 8	 	 
3 2 3	 	 
1 4 3	 	 
1 3 6	 	 
2 1 2	 	

样例输出

-1
-1
-1
14
12
8

思路

由于 N N N 较小,可考虑对于每一次输入跑一遍克鲁斯卡尔算法,复杂度 O ( W 2 l o g W ) O(W^2 log W) O(W2logW),不能接受。

观察题目,从 N N N 入手,考虑我们已经连上所有边形成最小生成树的情况,如下图:
在这里插入图片描述
此时加入一条 1 3 6 的边,我们对已经有的 N − 1 N-1 N1 条边和输入的 1 1 1 条边共 N N N 条边跑克鲁斯卡尔算法(代码实现部分我用的优先队列,可以替换成 sort,单次复杂度均为 O ( N l o g N ) O(NlogN) O(NlogN),可以接受),每次多出的一条边删掉,再将跑完的边压入优先队列,可实现单次查询复杂度为 O ( N l o g N ) O(NlogN) O(NlogN)

在这里插入图片描述
重复以上操作即可。
在这里插入图片描述

代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,w;
int head[205];
int find(int x) {return head[x] == x?x:head[x] = find(head[x]);
}
struct node{int x,y,w;friend bool operator <(node a,node b) {return a.w > b.w;}
}edge[205];
priority_queue<node>ed;
signed main() {scanf("%lld %lld",&n,&w);while(w--) {node new_ed;scanf("%lld %lld %lld",&new_ed.x,&new_ed.y,&new_ed.w);ed.push(new_ed);for(int i = 1;i <= n;i++) head[i] = i;int cnt = 0,ans = 0;while(!ed.empty()) {new_ed = ed.top(),ed.pop();if(find(new_ed.x) != find(new_ed.y)) {head[find(new_ed.y)] = find(new_ed.x);cnt++;edge[cnt] = new_ed;ans += new_ed.w;}if(cnt == n - 1) break;}if(cnt < n - 1) printf("-1\n");else printf("%lld\n",ans);while(!ed.empty()) ed.pop();for(int i = 1;i <= cnt;i++) ed.push(edge[i]);}return 0;
}
http://www.mmbaike.com/news/35618.html

相关文章:

  • 模板网站与定制网站的优缺点互联网
  • 中国企业网络营销现状58同城关键词怎么优化
  • 网站开发公司武汉专业制作网站的公司哪家好
  • 网站建设案例分析题百度怎么注册自己的网站
  • 网站建设推进情况郑州网
  • 西安做网站建设360优化大师官方最新
  • 綦江集团网站建设网站关键词排名
  • 南昌模板建站定制电商平台排行榜
  • 如何做网站url优化google seo是什么意思
  • 设计服务网站爱站小工具计算器
  • b2c网站建设方案发展南京网站快速排名提升
  • 淘客网站怎么做淘口令网站怎么优化排名
  • 开发一个app有哪些好处抖音seo排名系统
  • 中国十大含金量证书sem和seo是什么职业岗位
  • 腾讯云建设网站百度提交入口网站网址
  • 兰州网站建设实验总结游戏推广合作平台
  • 响应式网站建设论文seo的目的是什么
  • 百度网站推广咨询全国疫情高峰感染进度
  • 茂名住房和城乡建设局网站网站如何添加友情链接
  • wordpress wp_head()在哪个文件中外包优化网站
  • 北京h5网站建设报价在广州做seo找哪家公司
  • 1+x数字营销网站新闻热点最新事件
  • 做系统 和网站前端百度一下打开网页
  • 手机搜索网站建设seo点击软件排名优化
  • 女生做ui设计师好吗搜云seo
  • 昆明建个网站哪家便宜深圳百度代理
  • 定制网站要多少钱sem优化软件哪家好
  • 网站建设与管理介绍企业产品推广策划方案
  • 公司网站自己可做吗天津最新消息今天
  • 如何安全的做黄色网站美发培训职业学校