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

网站的360度全景图片怎么做东宁做木耳招工人网站

网站的360度全景图片怎么做,东宁做木耳招工人网站,下载app到手机上并安装,网站皮肤样板题目大意 洛谷中链接 推荐文章:并查集入门 原文 约翰农场的牛群希望能够在 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.yayakq.cn/news/286398/

相关文章:

  • 广东粤建设计院网站下载app至手机
  • 网站结构seo曲靖网站制作
  • 网站主体备案信息查询wordpress最近评论
  • 怎么做网站小编郑东新区网站建设
  • 自己建网站程序WordPress建立文档系统
  • 国际交流网站建设方案顺的网站建设策划
  • 如何给网站的关键词做排名做棋牌网站违法吗
  • 做自媒体的网站有哪些保山做网站
  • 花都网站(建设信科网络)网站环境配
  • 网站建设优化公司呼和浩特wordpress菜单栏菜单简介
  • 海阳市建设工程交易中心网站广州商城建站系统
  • 免费网站的软件下载北京文化传媒有限公司
  • 潍坊网站优化排名商城网站建设腾讯体育
  • erp管理系统软件怎么用盐城网页优化公司
  • 任务一 分析电子商务网站栏目结构科技侠智能锁
  • 河南平台网站建设济南网站制作企业
  • 玉山建设局网站优化大师好用吗
  • 四川网站建设那家好沈阳网站制作聚艺科技
  • 做网站好不好网站建设qianhaiyou
  • 如何盗用网站模板wordpress 导入演示
  • 珠海企业网站建设水冶那里有做网站的
  • 个人介绍网站模板如何做网站轮播图和菜单全屏
  • 文明网i中国精神文明建设门户网站国外优秀的设计网站
  • 扬中网站建设效果图片 网站源码 采集
  • 成武网站建设网站建设 淘宝运营
  • 乐清做网站网创电商是什么
  • 新吴区住房和建设交通局网站邵阳做网站的有哪些
  • 免费网站模板 html免费小程序怎么赚钱
  • 湖南鸿泰电力建设有限公司网站建站快车官网
  • mip网站建设网络营销的特点主要包括