计蒜客 - 44280 UnDetected(并查集).md

2023-10-26

题目大意

题目链接

给你n个圆,ans 为 最少 前多少个 圆 能把x轴(0, 200) 完全覆盖, 完全覆盖是相交的圆 的最左端 <=0 最右端 >= 200, 输出ans - 1

分析

并查集维护边界和输入的圆是否相交。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
power by Solo_Dance
*/
#include <bits/stdc++.h>
#define eps 1e-8
using namespace std;
#define ms(a, b) memset((a), (b), sizeof(a))
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> P;
const int N = 202 + 5;
const int M = 1e6 + 5;
const int INF = 0x3f3f3f3f;
const ll ll_max = 0x3f3f3f3f3f3f3f3f;
const int mod = 1e9 + 7;

inline ll read() {
    ll res = 0;bool f = 0;char ch = getchar();
    while (ch < '0' || ch > '9') {if (ch == '-') f = 1;ch = getchar();}
    while (ch <= '9' && ch >= '0') {res = (res << 3) + (res << 1) + ch - '0';ch = getchar();}
    return f ? (~res + 1) : res;
}

struct node{
    int x, y, r;
}a[202];

namespace DSU{
    int f[N], siz[N];
    inline void init(){
        for (int i = 0; i < N; ++i) f[i] = i, siz[i] = 1;
    }
    inline int tofind(int x){
        if (f[x] != x) f[x] = tofind(f[x]);
        return f[x];
    }
    inline void tojoin(int a, int b){
        a = tofind(a), b = tofind(b);
        if (siz[a] > siz[b]) swap(a, b);
        f[a] = b; siz[b] = max(siz[b], siz[a] + 1);
    }
};
using namespace DSU;
bool is(int x, int y){
    int dis = (a[x].x - a[y].x) * (a[x].x - a[y].x) + (a[x].y - a[y].y) * (a[x].y - a[y].y);
    return dis < (a[x].r + a[y].r) * (a[x].r + a[y].r);
}

int main(){

    int n = read();
    init();
    for (int i = 1; i <= n; ++i) {
        a[i].x = read(), a[i].y = read(), a[i].r = read();
        if (a[i].x - a[i].r <= 0) tojoin(i, 0);
        if (a[i].x + a[i].r >= 200) tojoin(i, n + 1);
        for (int j = 1; j < i; ++j) if (is(i, j)) tojoin(i, j);
        if (tofind(0) == tofind(n + 1)){
            cout << i - 1 << "\n";
            return 0;
        }
    }
    cout << n << "\n";

    return 0;
}
恰似你一低头的温柔,较弱水莲花不胜寒风的娇羞, 我的心为你悸动不休。  --mingfuyan

千万不要图快——如果没有足够的时间用来实践, 那么学得快, 忘得也快。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计蒜客 - 44280 UnDetected(并查集).md 的相关文章

  • 第十届蓝桥杯(明码+迷宫)

    第十届蓝桥杯省赛C B组 明码 汉字的字形存在于字库中 即便在今天 16点阵的字库也仍然使用广泛 16点阵的字库把每个汉字看成是16x16个像素信息 并把这些信息记录在字节中 一个字节可以存储8位信息 用32个字节就可以存一个汉字的字形了
  • mybatis-plus动态表名实现

    mybatis plus动态表名实现 1 使用场景 一个mybatis entity 对应多张表 表明不同的表 gt 多张表结构一致只有表名称不同 在使用时 可以动态映射表名称 比如 按照时间分表 某些业务冷热数据分离后数据存在不同的表中等
  • 服务器与云服务器传输文件,服务器与云服务器传输文件

    服务器与云服务器传输文件 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具 将文件上传到云服务器 例如QQ exe 在本地主机和Windows云服务器上分别安装数据传输工具 将文件上传到云服务器 例如Q
  • 阿里云OSS进行文件下载时,报NOSuchKeys: com.aliyun.oss.OSSException: The specified key does not exist.

    OSS文件下载 bucketName bucket的名称 objectName 保存文件时 OSS服务器返回给我们的url path 下载到本地的路径 OSSClient client new OSSClient endpoint acce
  • 钟汉良日记:啥都不会做什么副业好?

    2022年9月14日 周三 天气阴 服务的老板 昨天把搜狐号和网易号给我搞定后 我就把之前写的文章都同步更新到这两个自媒体平台上 今天再查看 网易号上发布的文章 排名也上了百度首页 你看 自媒体平台发布文章效果就是这么好 现在已经不是过去那
  • 用nginx Rtmp Module自建直播服务器

    下载源码 首先准备好源码和常用编译工具 gcc之类的 mkdir opt git 这里我偷懒直接把源码下载到这了 大家自行找地方 cd opt git git clone https github com arut nginx rtmp m
  • Java_经典算法之桶排序

    一 桶排序介绍 桶排序是计数排序的升级版 它利用了函数的映射关系 高效与否的关键就在于这个映射函数的确定 为了使桶排序更加高效 我们需要做到这两点 在额外空间充足的情况下 尽量增大桶的数量 使用的映射函数能够将输入的 N 个数据均匀的分配到
  • matlab在循环时如何跳过几个数,matlab如何得到一个数组的行数和列数, matlab判断数组的长度

    1 matlab在循环时如何跳过几个数 eg 循环输出1到10 但需要跳过5 for i 1 4 6 10 fprintf d n i end 2 matlab中如何得到数组的行数和列数 eg 创建一个2 3的0向量 并判断行数和列数 m
  • C++ const

    class A private const int a 常对象成员 可以使用初始化列表或者类内初始化 public 构造函数 A a 0 A int x a x 初始化列表 const可用于对重载函数的区分 int getValue 普通成
  • ubuntu编译caffe

    https blog csdn net weixin 42068754 article details 103386379 spm 1001 2101 3001 6661 1 utm medium distribute pc relevan
  • conda创建的虚拟环境和Pycharm创建的虚拟环境有什么区别。

    问题描述 刚开始学习深度学习时 不同项目都需要安装不同的库 有时为了方便 不同的项目就使用了独立的虚拟环境 这样在加载库时比较快一些 如果所有项目的库都安装在base下 可能会出现版本不匹配之类的问题 所以 一开始使用的conda创建的虚拟
  • 内网穿透两种方式

    一 内网穿透引入 你是否被以下问题所困扰 我想装个B让其他同学在外网访问我的程序 应该怎么办 接了个小外包 给客户演示Demo没有站点怎么办 做微信 支付宝支付等其他第三方平台的功能 没有外网回调地址 应该怎么办 内网穿透 又叫NAT穿透
  • ODOO 安装

    ODOO 安装 对初学者而言 ODOO 的安装是横在面前的第一道坎 必须过的 和几年前情况不同 最近几年 ODOO在安装方面已经大幅改进 不需要太专业的技能也能完成安装过程 下面先说说大致的安装过程 有空再补上详细的图片和步骤 准备工作 1
  • [2017年第八届真题] 分巧克力

    题目 传送门 思路 二分答案 写个check函数 对每个mid进行检查可行性 结果再检查能不能切割出k块或以上的 l l 的巧克力 不能的话 要 1 Code include
  • 七、Hadoop系统应用之搭建Hadoop高可用集群(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)

    Hadoop集群搭建前安装准备参考 一 Hadoop系统应用之安装准备 一 超详细步骤指导操作 WIN10 VMware Workstation 15 5 PRO CentOS 6 7 一 Hadoop系统应用之安装准备 二 超详细步骤指导
  • 大话赛宁云

    如今 随着数字时代的飞速发展 安全漏洞存在于网络空间中 对系统造成极大的安全隐患 为网络攻击者的恶意入侵提供了捷径 对此 解决这一困境 要秉承 快速 自动 安全 的解决标准 首先需要高技术手段的支持 实施常态化演练 及时发现安全漏洞 测评危
  • 暑期必须要学习的52个Python+OpenCV实战项目

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 有个粉丝前几天问我 本人小白一枚 看了很多深度学习 机器学习以及图像处理等视频和书之后 理论有一些长进 但是实际运用能力不足 从反面也是由于理论认识不足所致 所以想问问有
  • 完整的vuejs + django 前后端分离项目实践(登录,注册,权限控制,可视化)

    完整的vuejs django 前后端分离项目实践 登录 注册 权限控制 可视化 vuejs是一个流行的前端框架 django是一个python非常流行的web框架 在某期的作业中 需要基于它两实现一个前端后分离 并且拥有权限管理的系统 声
  • 哈夫曼编码

    哈夫曼编码 Huffman Coding 又称霍夫曼编码 是一种编码方式 哈夫曼编码是可变字长编码 VLC 的一种 Huffman于1952年提出一种编码方法 该方法完全依据字符出现概率来构造异字头的平均长度最短的码字 有时称之为最佳编码
  • sqlmap配置

    1 我们先去sqlmap官网上下载sqlmap的压缩包 2 把解压后的压缩包放在python27的安装路径下 这个路径指的是 然后配置环境变量 新增一个D python2 7 17 sqlmap sqlmapproject sqlmap 1

随机推荐

  • 感谢导师每次组会的锻炼,让我收获今年最想去的一个offer

    题解 名单中出现过的人 a input tuple1 tuple Tom Tony Allen Cydin Lucy Anna print tu 神策校园招聘来啦 你想要跟老板们扁平化相处吗 你想每天吃不完的水果零食饮品不限量吗 毕业第一份
  • 笔记-flowable工作流开启节点自动跳过

    flowable工作流开启节点自动跳过 笔记 开始 准备工作 1 flowable支持流程跳转的功能 在流程图绘画的时候可以设置一个表达式让节点自动跳过 2 在流程开启时需要设置参数 笔记 开始 我们在使用工作流时经常会遇到需要自动跳过节点
  • HTML

    HTML 下拉框和文本域 文件域 1 下拉框 在平时我们填问卷或者冲浪的时候做筛选的时候都会遇到下拉框 html写一个下拉框的方式是使用select标签 name和id是默认属性
  • Android问题集(五)——解决提示:The method **() is undefined for the type ***()

    使用情景 在非Activity子类方法中 有时想要调用Activity类特有的方法 系统会提示无该方法The method is undefined 思路 将Activity的父类Context作为方法参数 通过context调用该方法 例
  • Fckeditor常见漏洞的挖掘与利用整理汇总

    查看编辑器版本 FCKeditor whatsnew html 2 Version 2 2 版本 Apache linux 环境下在上传文件后面加个 突破 测试通过 3 Version lt 2 4 2 For php 在处理PHP 上传的
  • Django 快速搭建博客 第十一节(文章阅读量统计,自动生成文章摘要)

    这一节主要做一些修补工作 一个是 文章阅读量的统计 另一个是自动生成文章摘要内容 1 文章阅读量的统计 1 文章阅读量的统计 我们需要在model下的Post类中新加入一个views 字段用来统计文章被阅读的数量 blog models p
  • 是否二叉搜索树

    习题4 3 是否二叉搜索树 25分 本题要求实现函数 判断给定二叉树是否二叉搜索树 函数接口定义 bool IsBST BinTree T 其中BinTree结构定义如下 typedef struct TNode Position type
  • Go语言函数

    http www jb51 net article 56831 htm Go语言中的函数有系统函数和自定义函数 1 系统函数 系统函数就是Go语言自带的函数 系统函数一般根据功能封装在不同的包内 比如Print Printf Println
  • 微信聊天记录导出工具WeChatExporter开源啦!

    2019年08月21日更新 距离第一次发布软件已经有了许多新功能和稳定性上的提升 本文的一些内容已经过时 欢迎直接到GitHub上看ReadMe https github com tsycnh WeChatExporter 之前曾经写过一个
  • 消息队列 - RabbitMQ - 拓展

    1 Message 状态 Message 在投递时 如果当前 Queue 没有 Message 且有 Consumer 已经订阅了这个 Queue 那么该 Message 会直接发送给 Consumer 不会经过 Queue 存储 Mess
  • 在 Substance Painter中自定义Shader

    为什么要学习在Substance Painter中自定义Shader 答 需要实现引擎与Substance Painter中的渲染效果一致 材质的配置也一致 所见即所得 基础概述 首先在着色器设置这里 我们可以查看当前渲染使用的着色器 如果
  • ETL笔记——第五章 数据清洗与校验(数据检验)

    一 数据一致性处理 通过Kettle工具 使用弱一致性对数据表Personnel Information中的数据进行一致性处理 即利用数据表Personnel Information中的字段GENDER中的值训练出一个健康值预测模型 用于将
  • Android学习之Activity源码的理解(一)

    一 Activity为Android系统中四大组件之一 是Android程序的呈现层 并通过界面与用户进行交互 因此理解Activity源码是有必要的 二 之前我写过一篇文章 http blog csdn net u012561176 ar
  • scrapy的工作流程

    scrapy的工作流程如下图所示 整个工作流程 爬虫中起始的url构造成request对象 并传递给调度器 引擎从调度器中获取到request对象 然后交给下载器 由下载器来获取到页面源代码 并封装成response对象 并回馈给引擎 引擎
  • 测试开发-面试题目整理

    1 java的三大特性 封装 继承 多态 2 python的三大特性 封装 继承 多态 3 多态是怎么实现的 4 重载和重写的区别是什么 5 java的八大数据类型 6 花旗金融算法 java的冒泡法怎么实现的 几层for循环 7 得物面试
  • java网络编程——NIO架构

    目录 1 什么是NIO 2 NIO结构 3 基于NIO下的聊天系统实现 4 Netty 1 什么是NIO NIO java non blocking IO 同步非阻塞IO BIO是阻塞IO 即每一个事件都需要分配一个进程给他 如果客户端没有
  • Debian9 设置静态IP

    1 查看虚拟机上本机ip cmd ipconfig 2 配置网卡 2 1 备份原有配置文件配置文件 cp etc network interfaces etc network interfacesbak 备份原有配置文件 2 2 编辑int
  • elm分类器功能_一文带你读懂线性分类器

    本文为 AI 研习社编译的技术博客 原标题 Linear Classifier 作者 Thomas Pernet 翻译 邓普斯 杰弗 涂世文 Disillusion 校对 邓普斯 杰弗 审核 酱番梨 整理 菠萝妹 原文链接 https me
  • 前端h5 播放器vue-video-player

    1 安装依赖 npm install vue video player 2 在main js全局引入 import VideoPlayer from vue video player import video js dist video j
  • 计蒜客 - 44280 UnDetected(并查集).md

    题目大意 题目链接 给你n个圆 ans 为 最少 前多少个 圆 能把x轴 0 200 完全覆盖 完全覆盖是相交的圆 的最左端 lt 0 最右端 gt 200 输出ans 1 分析 并查集维护边界和输入的圆是否相交 代码 1 2 3 4 5