8.14-T1村通网(pupil)
题目大意
要建设一个村庄的网络
有两种操作可选
#include<bits/stdc++.h> #define ll long long #define db double using namespace std;inline int read() {int sum = 0,p = 1;char ch = getchar();while(ch < '0' || ch > '9'){if(ch == '-')p = -1;ch = getchar();}while(ch >= '0' && ch <= '9'){(sum *= 10) += ch - '0';ch = getchar();}return sum * p; }const int N = 1e3 + 5; int n,A,B; struct node {int x,y; } pot[N]; int cnt,fa[N],tot; struct edge {int frm,to;ll wei; } e[N * N /2 + N]; ll ans;void add(int a,int b,ll c) {e[++cnt].frm = a;e[cnt].to = b;e[cnt].wei = c; }bool cmp(edge a,edge b) {return a.wei < b.wei; }int findfa(int x) {if(fa[x] == x)return x;elsereturn fa[x] = findfa(fa[x]); }void kruskal() {sort(e+1,e+cnt+1,cmp);for(int i = 0;i <= n;i++)fa[i] = i;for(int i = 1;i <= cnt;i++){int u = findfa(e[i].frm);int v = findfa(e[i].to);if(u == v)continue;fa[v] = u;tot++;ans += e[i].wei;if(tot == n)return;} }int main() {freopen("pupil.in","r",stdin);freopen("pupil.out","w",stdout);n = read(),A = read(),B = read();for(int i = 1; i <= n; i++){pot[i].x = read();pot[i].y = read();}for(int i = 1; i <= n; i++)for(int j = i + 1; j <= n; j++){ll xx= abs(pot[i].x - pot[j].x);ll yy= abs(pot[i].y - pot[j].y);;add(i,j,(xx + yy) * B);// add(j,i,len * B); }for(int i = 1;i <= n;i++){add(0,i,A);// add(i,0,A); }kruskal();printf("%lld\n",ans);return 0; } //不知道曼哈顿距离可还行
View Code
转载于:https://www.cnblogs.com/darlingroot/p/11351466.html
8.14-T1村通网(pupil)相关推荐
- 【深度学习】村通网之——谈谈Tensorflow Eager Execution机制之新特性示例(二)
文章目录 前言 直接使用operation进行卷积操作 自动计算梯度(导数) 计算所有参数的梯度 计算所有变量的梯度 使用Python程序流程控制模型流程 自动优化 前言 本文是[深度学习]村通网之- ...
- 【最小生成树】JZOJ_5353 村通网
题意 有NNN个村,它们需要联网,联网的方式有两种: 1.直接联网,花费AAA元 2.与另一个村连起来,花费B∗B*B∗它们之间的曼哈顿距离,如果另一个村有网,那么这个村也会有网. 求最小花费. 思路 ...
- [jzoj 5353] 村通网 {kruskal算法}
Description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里每座建筑都连上互联网,方便未来随时随地网购农药. 他的农庄很大,有N 座建筑,但地理位置偏僻,网络信 ...
- 【JZOJ5353】村通网
description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里每座建筑都连上互联网,方便未来随时随地网购农药. 他的农庄很大,有N 座建筑,但地理位置偏僻,网络信 ...
- 2018.12.30【NOIP提高组】模拟A组 JZOJ 5353 村通网
大意 有nnn个城市,现在要让每个城市都有网.对于每个城市,有两种方法开网 花AAA元 连接别的有网的城市,花费B×B\timesB×它们间的曼哈顿距离 思路 最小生成树裸题不解释. 代码 #incl ...
- 【JZOJ5353】【NOIP2017提高A组模拟9.9】村通网【最小生成树】
题目大意: 题目链接:https://jzoj.net/senior/#main/show/5353 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里每座建筑都连上互联网, ...
- JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网
Description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里每座建筑都连上互联网,方便未来随时随地网购农药. 他的农庄很大,有N 座建筑,但地理位置偏僻,网络信 ...
- JZOJ 5353. 村通网
.. 题目: 分析: 代码: 题目: 传送门 分析: 表示最小生成树很可做 代码: #include<iostream> #include<cstdio> #include&l ...
- 【村通网】凭啥说python3.6+字典(dict)是有序的?
同样的运行下面这段代码 a = {'name':'tom','age':'18','tt':'11','tom':'222'} for i in a.keys():print(i) python 3. ...
最新文章
- javascript添加HTML事件处理程序的两种方式学习
- OpenStack之Keystone模块
- 学长毕业日记 :本科毕业论文写成博士论文的神操作20170407
- 数据去重复_字典应用实例(每行每列都要去重复值)
- Java位操作:如何将long类型的指定位设置为0或1?How to set/unset a bit at specific position of a long?
- java面试题40 当编译并运行下面程序时会发生什么结果()
- MongoDB数据库因安全漏洞,导致Family Locator泄露二十多万名用户数据
- 电脑安装linux后打不开win,安装完linux后 windows无法启动
- asp.net ajax客户端框架如何调用Page Method
- Spring Boot使用JSP模板引擎
- java计算机毕业设计快滴预约平台MyBatis+系统+LW文档+源码+调试部署
- 六、配置基于 IP 子网划分 VLAN 示例
- 一位销售的几年职业总结
- C语言根据国家英文首字母进行排序
- ios 关于MBProgressHUD简单实用
- matlab开方分布上分位点,概率密度分布函数和上分位点的数值计算
- MindSpore实现手写数字识别
- 所有计算机专业的学生应该认识到的
- AFNetworking缓存
- iOS 浏览相册功能实现 —— HERO博客
热门文章
- 数据结构与算法(刺猬书)读书笔记(1)----数组
- 物联网市场FD-SOI制程会取代FinFET吗?
- Segment Routing基础知识
- 机器学习-搭建环境-1:Win10安装Anaconda和Jupyter Notebook
- java将长网址转换为短网址 用第三方接口 常用于生成二维码时需要
- 博学谷-数据分析matplotlib
- java httpclient 采集_使用java HttpClient 与Web服务器交互 - elliott - 博客园
- 新媒体运营教程:了解短视频核心,让短视频运营脱颖而出
- MVG与MVS的区别和联系
- 黑马服务器开发之linux基础编程视频——笔记