CF1949I Disks

news/2025/3/29 18:11:32/文章来源:https://www.cnblogs.com/WuMin4/p/18793916

CF1949I Disks

题意

平面直角坐标系上有 \(n\pod {1\le n\le 1000}\) 个圆。任意两个圆没有相交关系。请问能否改变一些圆的半径,使得没有圆有相交关系,原来相切的圆现在仍然相切,且半径之和减小。

思路

这题评蓝?

因为半径改变大小任意,所以只有相切的圆才会相互影响,于是我们将相切的圆连边,再对每个连通块单独考虑。

这里给出一个重要的结论:两个圆若圆心不变且相切,则半径之和等于圆心距。于是对于相切的两个圆,若一个圆半径减小,另一个圆半径一定增大,且增减量相等。

于是我们可以将圆分为两类:半径减小的圆和半径增大的圆,也就是构造二分图。对于半径减小的圆,跟它有连边的圆一定为半径增大的圆,反之亦然。当出现矛盾时,则不能改变半径大小。

以上过程即为二分图判定过程。

构造出二分图后,任意一类点都可以成为半径减小的圆,我们考虑让点数更多的一类点成为半径减小的圆,这样可以使得减少量大于增加量。当点数相等时,该连通块增减量相等,也不能改变半径之和的大小。

于是我们将所有相切的圆连边,并对每个连通块判定二分图,若某个连通块为二分图且两类点数不相等,答案即为 YES,否则为 NO

注意开 long long

代码

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,col[1005],cc[2],ans;
struct node{int x,y,d;
}a[1005];
vector<int> t[1005];
bool is_cut(node x,node y){return (x.x-y.x)*(x.x-y.x)+(x.y-y.y)*(x.y-y.y)==(x.d+y.d)*(x.d+y.d);
}
void dfs(int x,int c){col[x]=c,cc[c]++;for(int v:t[x]){if(col[v]==-1)dfs(v,c^1);else if(col[v]!=(c^1))ans=0;}
}
signed main() {ios::sync_with_stdio(false);cin.tie(nullptr),cout.tie(nullptr);memset(col,-1,sizeof(col));cin>>n;for(int i=1;i<=n;i++)cin>>a[i].x>>a[i].y>>a[i].d;for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){if(is_cut(a[i],a[j]))t[i].push_back(j),t[j].push_back(i);}}for(int i=1;i<=n;i++){if(col[i]==-1){cc[0]=cc[1]=0;ans=1;dfs(i,0);if(ans&&cc[0]!=cc[1]){cout<<"YES"<<endl;return 0;}}}cout<<"NO"<<endl;return 0; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/906189.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nmap学习笔记

Nmap学习笔记 九步:Enumerate targets 列出目标 Discover live hosts 发现活动主机 Reverse-DNS lookup 反向 DNS 查询 Scan Ports 端口扫描 Detect versions 版本侦测 Detect OS 系统侦测 Traceroute 路由追踪 Scripts 脚本 Write output 输出Nmap Live Host Discovery---存…

postman 免登录使用

取消Help下面的所有勾选 重启即可I have a dream : Sandy beach B-J-N.

不同板卡间的同步序列出峰问题

简述 使用两块不同板卡,对前导ZC序列一收一发,在接收板上做本地相关,相关结果显示相关性有延迟,目前推测为射频滤波器问题。 异常情况 目前有一套FMQL45T900+CX9261s的板卡,运行OFDM波形进行灵敏度测试。由于只有一套,且收发隔离度仅有约50dB,导致无法在自回环的情况下进…

dl380 gen10微码升级

一、Updating the BIOS and/or iLO firmware using the iLO web interface 1、 通过浏览器登录iLO 5,在Firmware & OS Software页面选择Update Firmware。 2、选择Local file,将已保存至本地的固件文件挂载到选择文件处。3、 点击Flash,阅读更新提示,确认无误后点击OK即…

ThreeJs-16智慧城市项目(重磅以及未来发展ai)

![GIF](https://img2023.cnblogs.com/blog/2680817/202503/2680817-20250303164902745-1619665311.gif)项目源码:https://gitee.com/hq8466/threecity-com 写在前面:很早就弄完了的,只是一直说挑个黄道吉日发上来,托了这么久也没选到什么节日,今天天气不错就发了吧,然后后…

什么是最小权限原则?

一、最小权限原则是什么? 随着网络威胁变得越来越复杂,对强大安全实践的需求在现代企业运营中已根深蒂固。组织致力于保护他们的数据,无论是添加额外的验证层、加密信息还是控制网络流量。最小权限原则 (PoLP) 就是这样一种安全实践,它已成为整个组织的基本实践,无论其性…

易基因:m5C RNA甲基化测序(m5C MeRIP-seq)

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 m5C是RNA百余种修饰中研究较多的一种。m5C存在于tRNA上时,可以对翻译进行调节;存在于rRNA上时,可以对核糖体的生物合成进行质控;存在于mRNA上时,则可以影响mRNA的结构、稳定性及翻译过程。 m5C RNA修饰的…

压测实践案例

压测如何判断是依赖服务瓶颈 背景:优化网关代码,通过压测针对异常指标判断瓶颈 1.当发现响应曲线上升。2.简单方式使用另外一个接口轮询服务在冒尖的时候判断是否是服务异常 第一组 第二组第三组第四组

基于Python程序访问本地部署的DeepSeek和硅基流动DeepSeek API

基于Python程序访问本地部署的DeepSeek和硅基流动DeepSeek API前排提醒: 1. 本地通过Ollama部署DeepSeek,部署版本为 deepseek-r1:1.5b,若还未进行本地部署,可以参考博客Windows系统上使用Ollama本地部署DeepSeek 2. 线上API使用的是硅基流动(siliconflow)的DeepSeek API…

supOS蓝卓工业互联网与iNeuOS工业互联网操作系统对比

最近有一个企业正在调研工业互联网平台,其中调研的是supOS蓝卓工业互联网和iNeuOS工业互联网操作系统。让我们给出一个对比情况表,我们自己总结了一份,由于不太了解supOS,于是也问了deepseek。 最近有一个企业正在调研工业互联网平台,其中调研的是supOS蓝卓工业互联网和…

ASE2N50-ASEMI工业电源专用ASE2N50

ASE2N50-ASEMI工业电源专用ASE2N50编辑:ll ASE2N50-ASEMI工业电源专用ASE2N50 型号:ASE2N50 品牌:ASEMI 封装:TO-220F 批号:最新 最大漏源电流:2A 漏源击穿电压:500V RDS(ON)Max:5.0Ω 引脚数量:3 沟道类型:N沟道MOS管、中低压MOS管 漏电流:ua 特性:N沟道MOS管、…