2018.12.30【NOIP提高组】模拟A组 JZOJ 5353 村通网
大意
有nnn个城市,现在要让每个城市都有网。对于每个城市,有两种方法开网
- 花AAA元
- 连接别的有网的城市,花费B×B\timesB×它们间的曼哈顿距离
思路
最小生成树裸题不解释。
代码
#include<algorithm>
#include<cstdio>
#include<cmath>
#define min(a,b) ((a)<(b)?(a):(b))
using namespace std;int n,A,B,x[1001],y[1001],m,f[1001],k,ans;
struct node{int from,to,w;}e[1000001];
inline bool cmp(node x,node y){return x.w<y.w;}
inline int find(register int x){return x==f[x]?x:f[x]=find(f[x]);}
signed main()
{freopen("pupil.in","r",stdin);freopen("pupil.out","w",stdout);scanf("%d%d%d",&n,&A,&B);for(register int i=1;i<=n;i++) {f[i]=i;scanf("%d%d",x+i,y+i);for(register int j=1;j<i;j++) e[++m]=(node){j,i,abs(x[i]-x[j])+abs(y[i]-y[j])};}sort(e+1,e+1+m,cmp);for(register int i=1;i<=m;i++){int p=find(e[i].from),q=find(e[i].to);if(p==q) continue;k++;ans+=min(A,e[i].w*B);//要么重新开网,要么连接f[p]=q;if(k==n-1) break;}printf("%d\n",ans+A);//加上开网代价
}
2018.12.30【NOIP提高组】模拟A组 JZOJ 5353 村通网相关推荐
- DayDayUp:吴晓波—2018.12.30年终秀——《预见2019:国运70》演讲重点概览【文字+视频】
DayDayUp:吴晓波-2018.12.30年终秀--<预见2019:国运70>演讲重点概览[文字+视频] 目录 一.回顾2018 回看2017年终秀的8个预言 五大悬念 二.展望201 ...
- JZOJ5857 【NOIP提高组模拟A组2018.9.8】没有上司的舞会
题目 Description "那么真的有果尔德施坦因这样一个人?"他问道. "是啊,有这样一个人,他还活着.至于在哪里,我就不知道了." "那么那个 ...
- 2019.08.12【NOIP提高组】模拟 B 组 模拟+DP+差分约束、spfa
文章目录 0 少女觉 1 灵知的太阳信仰 2 多段线性函数 3 DY引擎 差分约束系统 我很喜欢你,我会一直喜欢你到你不再需要我喜欢你为止.--顾飞 0 少女觉 在幽暗的地灵殿中,居住着一位少女,名为 ...
- 2019.08.12【NOIP提高组】模拟 A 组
解题报告 JZOJ 6293 迷宫 题目 分析 代码 JZOJ 6297 猛汉王 题目 分析 代码 JZOJ 6299 工厂 题目 分析 代码 JZOJ 6293 迷宫 题目 分析 因为其没有后效性 ...
- JZOJ 5281. 【NOIP提高组模拟A组8.15】钦点
Description Input Output Sample Input 4 4 2 a a b b a a b b c c d d c c d d 1 1 3 3 2 2 3 1 1 3 2 2 ...
- JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网
Description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里每座建筑都连上互联网,方便未来随时随地网购农药. 他的农庄很大,有N 座建筑,但地理位置偏僻,网络信 ...
- 2018.12.30|区块链技术头条
今日区块链技术头条 1.回顾|2018年,区块链技术工坊历程 2.观点 | 公链治理与"社区"的几种意思 3.2018 年终盘点:"年度爆款"的区块链真的结束了 ...
- 2018.12.31 NOIP训练 czy的后宫5(树形dp)
传送门 题意:给一棵有根树,树有点权,最多选出mmm个点,如果要选一个点必须先选其祖先,问选出来的点权和最大值是多少. 直接背包转移就行了. 代码 转载于:https://www.cnblogs.co ...
- 2018.12.31 NOIP训练 czy的后宫6(线性dp)
传送门 题意简述:给一个nnn个数的数列,你可以把它最多分成mmm段,求每段数之和的最大值的最小值,以及满足这个最小值的时候划分数列的方案数. 思路:第一个问题是二分经典问题,不妨设其答案为limli ...
最新文章
- 类和JSON的序列化与反序列化
- VC操作Excel文件编程相关内容总结
- a_10在C语言的,在C语言中,能正确表示逻辑关系:a≥10或a≤-10的C语言表达式是...
- linux snap 进程cpu占用100% 解决
- WordPress 多个安全漏洞
- 查找和为定值的两个数—Leetcode1
- linux勒索病毒名称,Linux 也有加密勒索病毒了,也有人真的中了
- RK瑞芯微WIFI模组2020最新支持列表,放心使用!
- 使用Spring 3.2的DeferredResult进行长轮询
- html5语句大全,html5基础语句(学习)
- 小程序 webview 分享_新的一周,分享15个好玩的小程序
- Linux学习笔记-管道的读写特性
- matlab三维货位图,遗传算法求三维立体仓库货位优化MATLAB源码
- c++新增加的一个概念称之为_新概念四册中的这个句子是对的吗?
- 需要额外端口信息_二端口网络及算例
- 自我监督学习和无监督学习_弱和自我监督的学习-第3部分
- 10的几次方 用计算机计算公式,在excel中如何计算10的几次方呢
- 几种并行计算模型的区别(BSP LogP PRAM)
- 用 mkcert 搭建本地开发受信 HTTPS 证书环境
- 如何改写(paraphrase)英文句子?