Ink on paper HDU - 7058

题意:

给出n个墨水的初始位置,每秒向外扩展0.5cm,显示一个圆圈,问所有墨水连接起来需要多长时间

题解:

很明显,在完全图中找最小生成树,并记录最小生成树中最长的边
数据N<=5000,因为是完全图,边很多,所以跑prim肯定没错

代码:

#include <bits/stdc++.h>
using namespace std;
int read() {int tot = 0, fh = 1;char c = getchar();while ((c < '0') || (c > '9')) {if (c == '-')fh = -1;c = getchar();}while ((c >= '0') && (c <= '9')) {tot = tot * 10 + c - '0';c = getchar();}return tot * fh;
}
const int maxn = 5010;
const long long inf = 9 * 1e18;
struct node {long long x, y;
} a[maxn];
long long mp[maxn][maxn], f[maxn];
long long ans;
int i, j, k;
int n, mi, t;
long long len(int x, int y) {return (a[x].x - a[y].x) * (a[x].x - a[y].x) + (a[x].y - a[y].y) * (a[x].y - a[y].y);
}
int opt, T;
int main() {//  freopen("data.in","r",stdin);//  freopen("data.out","w",stdout);T = read();for (opt = 1; opt <= T; opt++) {n = read();ans = 0;for (i = 1; i <= n; i++) {a[i].x = read();a[i].y = read();}for (i = 1; i <= n; i++) {mp[i][i] = 0;for (j = i + 1; j <= n; j++) {mp[i][j] = len(i, j);mp[j][i] = mp[i][j];}}for (i = 1; i <= n; i++)f[i] = mp[1][i];f[1] = inf;for (k = 1; k < n; k++) {mi = 1;for (i = 2; i <= n; i++)if (f[mi] > f[i])mi = i;t = 1;for (i = 1; i <= n; i++)if ((f[i] == inf) && (mp[t][mi] > mp[i][mi]))t = i;ans = max(ans, mp[t][mi]);f[mi] = inf;for (i = 1; i <= n; i++)if (f[i] != inf)f[i] = min(f[i], mp[mi][i]);}printf("%lld\n", ans);}return 0;
}

Ink on paper HDU - 7058相关推荐

  1. 【HDOJ7058】Ink on paper(生成树,或二分答案建图+并查集联通性)

    1003 Ink on paper 题意: 给出平面中的n个点,每个点每秒向外扩散0.5cm,求多少时间后所有点的点会连在一起,输出时间的平方. 思路: 其实是很简单的最小生成树板子,Kruskal或 ...

  2. #2021暑假杭电多校8_1003.Ink on paper

    1003.Ink on paper 题目传送门 题目大意: 第iii滴墨水的起始位置是(xi,yi)(x_i,y_i)(xi​,yi​)以每秒0.5厘米的速度向外圆形扩散,问所有墨滴联通要多久,输出时 ...

  3. P1740 Ink on paper

    题目描述 Bob accidentally spilled some drops of ink on the paper. The initial position of the i-th drop ...

  4. Ink on paper 最小生成树-Prim-二分答案并查集

    题意 : 平面直角坐标系中有n个水滴,每个水滴以0.5cm的速度扩散,求经过多久所有的水滴可以连接在一起. 思路 : 将任意两个墨水滴连接并求解最小生成树就是墨水恰好全部连接时的情况.全部连接的时间就 ...

  5. 2021杭电多校第八场补题

    比赛传送门:Contest Problem List (hdu.edu.cn) 1006)GCD Game 题目翻译:爱丽丝和鲍勃正在玩游戏. 他们轮流操作.有n个数字,a1,a2,...,an.每次 ...

  6. 考研英语一2016年真题4篇阅读词汇句子积累(详细!!!)

    写在前面:本文是对2016年英语一考研真题4篇阅读的整理. 文章目录 2016年英语一真题 Text1 时尚界审美的变化 词汇积累 句子积累 Text2 英国乡村需要保护 词汇积累 句子积累 Text ...

  7. 插图 引用 同一行两个插图_为什么插图是产品的重要组成部分

    插图 引用 同一行两个插图 "Hi, my name is Ludmila and I'm a UX/UI designer" "嗨,我叫Ludmila,我是UX / U ...

  8. java 使用接口便于维护程序_Java初学——面向对象接口的应用

    一.接口 1.什么是接口 接口是比抽象类更抽象的定义,接口不可以被实例化 实现类必须实现接口的所有方法 实现类可以实现多个接口 .多个接口使用逗号隔开 接口中的变量都是静态常量(public stat ...

  9. 开发人员kpi怎么写_为什么开发人员应该知道怎么写

    开发人员kpi怎么写 by Derek Mei 梅re(Derek Mei) 为什么开发人员应该知道怎么写 (Why developers should know how to write) I re ...

最新文章

  1. Win2k-XP超级加速脚本.cmd
  2. jquery lt选择器与gt选择器
  3. 清空Form表单所有内容
  4. 【DP】【高精】WZK打雪仗(jzoj 1997)
  5. linux中apache服务器的搭建与配置
  6. 网易互娱基于 Flink 的支付环境全关联分析实践
  7. 用python写一段话.使这句话在电脑屏幕中循环播放_Python笔记_第一篇_面向过程第一部分_6.循环控制语句(while 和 for)_...
  8. 华为手机计算机怎么用根号,根号下怎么打_根号怎么打出来华为_根号怎么打出来手机-Guide信息网...
  9. 【排队论 | 数学建模常用模型】
  10. 求101到150之间的质数
  11. 数据可视化大屏案例系列 3
  12. BeanFactory not initialized or already closed - call ‘refresh‘ before accessing beans via the Applic
  13. 云服务器ecs是虚拟机,云服务器ecs虚拟机
  14. 【验证狼人杀三行定律】
  15. 2021年上海第一批高新技术企业上海熙有网络科技集团榜上有名
  16. 泛微ecology由于数据库的账号安全机制帐号被锁从而系统宕机排查
  17. DebianLinux下如何安装软件(转)
  18. JBAS011232: Only one JAX-RS Application Class allowed. com.sun.jersey
  19. 每月自评之二:2013年2月
  20. Springboot整合FreeMarker

热门文章

  1. 预售┃连锁反应装置积木好玩到尖叫!
  2. 收藏 | 分享 3 种脑洞大开的Excel技巧
  3. 12个关键词,告诉你到底什么是机器学习
  4. python进阶之学习笔记_干货 | Python进阶系列之学习笔记(四)
  5. c语言函数调用二次方程求根,[编程入门]自定义函数求一元二次方程 (C语言代码)...
  6. $.ajax datatype默认是什么类型,理解jquery ajax中的datatype属性选项值
  7. micropython安装ros_ROS2与STM32入门教程-microROS的linux版本
  8. linux命令查询邮件发送状态,Linux发邮件之mail命令详解
  9. 有必要服务器虚拟化吗,服务器虚拟化有必要吗
  10. java地图 热力图,腾讯地图数据可视化之热力图