8.14-T1村通网(pupil)
题目大意
要建设一个村庄的网络
有两种操作可选
#include<bits/stdc++.h>
#define ll long long
#define db double
using namespace std; inline int read()
{
int sum = ,p = ;
char ch = getchar();
while(ch < '' || ch > '')
{
if(ch == '-')
p = -;
ch = getchar();
}
while(ch >= '' && ch <= '')
{
(sum *= ) += ch - '';
ch = getchar();
}
return sum * p;
} const int N = 1e3 + ;
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 / + 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;
else
return fa[x] = findfa(fa[x]);
} void kruskal()
{
sort(e+,e+cnt+,cmp);
for(int i = ;i <= n;i++)
fa[i] = i;
for(int i = ;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 = ; i <= n; i++)
{
pot[i].x = read();
pot[i].y = read();
}
for(int i = ; i <= n; i++)
for(int j = i + ; 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 = ;i <= n;i++)
{
add(,i,A);
// add(i,0,A);
}
kruskal();
printf("%lld\n",ans);
return ;
}
//不知道曼哈顿距离可还行
8.14-T1村通网(pupil)的更多相关文章
- 城通网盘,千军万马,千脑网盘,119g网盘哪个适合做网赚?
转载请注明文章来自 [ofiicexie] 网盘网赚已经流行了有一段时间了,国内流行的几个网盘有城通,千军万马,千脑,119g,今天小编写以此文来比较分析一下这几个网盘的优缺点. 这里,我特意做了个这 ...
- 16Aspx.com-书通网中小学生免费在线学习网站源码 带采集带手机版帝国cms内核
=============================================== 源码站长资源交易专业网-商业源码下载,VIP源码,程序交易,毕业设计交易,站长交易|- 16aspx.c ...
- 在Ubuntu 14.04 上安装网易云音乐
之前因为电脑有网络的原因,一直使用网页网易云音乐听歌,最近电脑没网络使用,才发现网易云音乐有linux版本,果断下载. 在Chrome浏览器中,登陆官网下载Linux版本中的Ubuntu 14.04 ...
- virtualbox下 ubuntu 14.04设置外网独立IP
安装时记得选择sshserver vim /etc/network/interfaces iface eth0 inet static address YOUR IP netmask 子网掩码 get ...
- 2019.2.14 t1 最大公约数
代码: #include <cstdio> #include <iostream> #include <cstring> #include <algorith ...
- Ubuntu 14.04 卸载通过源码安装的库
cd cere-solvermkdir buildcd buildcmake ..sudo makesudo make install 卸载通过以上方式源码安装的库 再次进入buildsudo mak ...
- 14、iptables_nat源地址转换(内网共享上网)
14.1.环境说明: 1.架构图:
- 外网远程顶级域名连接群晖的WebDAV文件服务映射盘符
外网远程顶级域名连接群晖的WebDAV文件服务映射盘符 https://www.cnblogs.com/delphixx/p/11846546.html 电子文件管理规范 1.手机拍照截屏 ...
- [置顶] gis海量资源网盘提供VIP账号无广告高速下载 (更新更多资源)
资源网盘下载地址:http://laoheitan.bego.cc/ 城通网盘 vip帐号共享 省去 烦人的 广告 多任务同时下载 独乐乐 不如众乐乐 好人 勿改密码. 获取到 vip下载连接后 请 ...
随机推荐
- [转]TCP/IP 协议基础(一)
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- R语言函数化编程笔记2
R语言函数化编程笔记2 我学过很多的编程语言,可以我写的代码很啰嗦,一定是我太懒了.或许是基础不牢地动山摇 1.为什么要学函数 函数可以简化编程语言,减少重复代码或者说面向对象的作用 2.函数 2.1 ...
- fastadmin选择下拉框
fastadmin中要做下拉框的效果如下: 数据库中数据: 在对应model中添加一个方法: 控制器中添加一行: 在目录lang/zh-cn中找到你控制器名称所对应的文件添加配置: 在add.html ...
- Hadoop的安装(2)---Hadoop配置
一:安装JDK hadoop2.x最低jdk版本要求是:jdk1.7(不过推荐用最新的:jdk1.8,因为jdk是兼容旧版本的,而且我们使用的其他软件可能要求的jdk版本较高) 下载地址:https: ...
- 打开UML类图的正确姿势
UML(Unified Modeling Language) 统一建模语言,又称标准建模语言.是用来对软件密集系统进行可视化建模的一种语言.UML的定义包括UML语义和UML表示法两个元素.UML是在 ...
- JUC-线程间通信
面试题: 两个线程,一个线程打印1-52,另一个打印字母A-Z打印顺序为12A34B...5152Z, 要求用线程间通信 线程间通信:1.生产者+消费者2.通知等待唤醒机制 多线程编程模版中 1.判断 ...
- git 卡住推不上去
luoxu@lenovo:~/testGit/.git$ env | grep -i proxy 查看有没有设置代理 ALL_PROXY=socks://127.0.0.1:1080/ no_prox ...
- vue.js + element中el-select实现拼音匹配,分词、缩写、多音字匹配能力
1.既然要用到拼音搜索,我们就需要一个拼音库,在这里我推荐一个第三方包:https://github.com/xmflswood/pinyin-match,在这里首先对这个包的开发者表示万分的感谢. ...
- 使用docker布署wordpress
环境准备 本博客使用docker环境搭建,从而做到布署简单 centos7环境(centos6跑docker要升级内核,也不建议这样做) 在centos7上安装好docker环境docker安装文档 ...
- centOS7中启动MySQL数据库提示: Failed to start mysqld.service: Unit not foundc
现象: 在centOS7中启动MySQL数据库提示: Failed to start mysqld.service: Unit not found [明明已经安装了,为什么提示不存在呢?] 原因: 在 ...