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

湖南中核建设工程公司官方网站google关键词

湖南中核建设工程公司官方网站,google关键词,网站制作2007,bluehost 删除wordpress[COCI2009-2010#7] SVEMIR 题目描述 太空帝国要通过建造隧道来联通它的 NNN 个星球。 每个星球用三维坐标 (xi,yi,zi)(x_i,y_i,z_i)(xi​,yi​,zi​) 来表示,而在两个星球 A,BA,BA,B 之间建造隧道的价格为 min⁡{∣xA−xB∣,∣yA−yB∣,∣zA−zB∣}\min\{|x_A-x_…

[COCI2009-2010#7] SVEMIR

题目描述

太空帝国要通过建造隧道来联通它的 NNN 个星球。

每个星球用三维坐标 (xi,yi,zi)(x_i,y_i,z_i)(xi,yi,zi) 来表示,而在两个星球 A,BA,BA,B 之间建造隧道的价格为 min⁡{∣xA−xB∣,∣yA−yB∣,∣zA−zB∣}\min\{|x_A-x_B|,|y_A-y_B|,|z_A-z_B|\}min{xAxB,yAyB,zAzB}

现要建造 N−1N-1N1 条隧道使得所有的星球都能直接或间接相连。求完成该任务所需的最小总价。

输入格式

第一行,一个整数 NNN

接下来的 NNN 行,每行三个整数 xi,yi,zix_i,y_i,z_ixi,yi,zi,表示第 iii 个星球的坐标。

数据保证不存在两个具有相同坐标的星球。

输出格式

输出所需的最小总价。

样例 #1

样例输入 #1

2
1 5 10
7 8 2

样例输出 #1

3

样例 #2

样例输入 #2

3
-1 -1 -1
5 5 5
10 10 10

样例输出 #2

11

样例 #3

样例输入 #3

5
11 -15 -15
14 -5 -15
-1 -1 -5
10 -4 -1
19 -4 19

样例输出 #3

4

提示

【数据规模与约定】

  • 对于 100%100\%100% 的数据,1≤N≤1051 \le N \le 10^51N105−109≤xi,yi,zi≤109-10^9 \le x_i,y_i,z_i \le 10^9109xi,yi,zi109

【提示与说明】

题目译自 COCI 2009-2010 CONTEST #7 Task 4 SVEMIR

本题分值按 COCI 原题设置,满分 100100100

最小生成树,如果把每两个点之间的边都存储,会超时超空间。
放宽条件,问题等价于每个点之间有三条边,边权分别是|x1-x2|,|y1-y2|,|z1-z2|,然后求最小生成树距离。
所以观察规律,如果按x排序,只用在相邻次序的点之间建立x插值边,分析得知相隔的点对pi,pk (|i-k|!=1)建立的x差值边一定用不上(如果这两点在两棵树上,想要连通这两棵树,选择x差值边,一
定不如它们中间一点到其中某一点的x差值边来得好)。
按照y和z排序同理。

#include <bits/stdc++.h>
#define for0(a,n) for(int (a)=0;(a)<(n);(a)++)
#define for1(a,n) for(int (a)=1;(a)<=(n);(a)++)
typedef  long long ll;using namespace std;const int maxn=1e5+0.5;
int m,n;
ll ans;
int pre[maxn+5];
struct Edge
{int u,v,w;Edge(){}Edge(int u,int v,int w):u(u),v(v),w(w){}bool operator<(const Edge & e) const{return w<e.w;}};
vector<Edge>edges;struct Node
{int x,y,z,idx;bool operator <(const Node & b) const{return x<b.x;}
} nodes[maxn+5];bool cmp_y(Node & a, Node & b) {return a.y<b.y;}
bool cmp_z(Node & a, Node & b) {return a.z<b.z;}void init()
{m=0;edges.clear();ans=0;for0(i,n+1) pre[i]=i;
}int findroot(int x) {return pre[x]==x?x: pre[x]= findroot(pre[x]);}
bool merge(int &x,int &y)
{int rootx=findroot(x);int rooty=findroot(y);if (rootx==rooty) return false;pre[rootx]=rooty;return true;
}int main()
{std::ios::sync_with_stdio(false);while(cin>>n){for1(i,n){cin>>nodes[i].x>>nodes[i].y>>nodes[i].z;nodes[i].idx=i;}init();sort(nodes+1,nodes+n+1);//        for1(i,n)
//        {
//            cout<<nodes[i].x<<" "<<nodes[i].y<<" "<<nodes[i].z;
//        }for1(i,n-1){int dis=abs(nodes[i].x-nodes[i+1].x);edges.push_back( Edge(nodes[i].idx,nodes[i+1].idx,dis));}sort(nodes+1,nodes+n+1,cmp_y);for1(i,n-1){int dis=abs(nodes[i].y-nodes[i+1].y);edges.push_back( Edge(nodes[i].idx,nodes[i+1].idx,dis));}sort(nodes+1,nodes+n+1,cmp_z);for1(i,n-1){int dis=abs(nodes[i].z-nodes[i+1].z);edges.push_back( Edge(nodes[i].idx,nodes[i+1].idx,dis));}sort(edges.begin(),edges.end());m=edges.size();//        for0(i,m)
//        {
//            cout<<edges[i].u<<" "<<edges[i].v<<" "<<edges[i].w<<endl;
//        }int T=n-1;for0(i,m){Edge & e = edges[i];int u=e.u,v=e.v,w=e.w;if(!merge(u,v)) continue;ans+= w;if (--T==0) break;}printf("%lld\n",ans);}return 0;
}
/*
2
1 5 10
7 8 23
-1 -1 -1
5 5 5
10 10 105
11 -15 -15
14 -5 -15
-1 -1 -5
10 -4 -1
19 -4 19
*/
http://www.ds6.com.cn/news/123266.html

相关文章:

  • 一米八效果图网站武汉大学人民医院地址
  • 没有经验可以做网站编辑吗seo推广灰色词
  • 企业官网的重要性山西搜索引擎优化
  • php做图片交互网站代码友情链接seo
  • 郑州市网站建设哪家公司好百度联盟点击广告赚钱
  • 亚马逊品牌网站要怎么做微信营销的成功案例
  • 个人跨境电商怎么开店铺关系网站优化公司
  • 好的文化网站模板网络推广营销培训机构
  • 做垂直行业网站利润分析典型十大优秀网络营销案例
  • 建设网站图片素材重庆最新数据消息
  • 垫江集团网站建设东莞市网络seo推广企业
  • wordpress做公司网站网站域名备案查询
  • 网站建设深圳公司网站如何做推广
  • 网站开发策划方案疫情最严重的三个省
  • 怎样在网站上做外贸金泉网做网站多少钱
  • 织梦网站地图模板下载搜一搜
  • 网站建设厌倦百度开户资质
  • 哎吆嗨网站建设windows优化大师收费
  • 周口做网站优化千锋教育
  • 如何入侵网站后台密码seo外包服务公司
  • 厦门网站建设的公司哪家好专业提升关键词排名工具
  • 那种限时购的网站如何做公司注册流程
  • 推广网站链接怎么做百度云超级会员试用1天
  • 网站源码怎么搭建中国万网域名注册服务内容
  • 明快网站设计b站怎么推广
  • 百度小程序可以根据网站的要求做营销必备十大软件
  • 珠海市城乡住房建设局网站调研报告万能模板
  • 视觉中国的图片可以拿来做网站优化设计卷子答案
  • 做pc端网站要多少钱百度题库
  • 为了爱我可以做任何事俄剧网站国外免费网站域名服务器查询