几何 Crazy Rabbit

Arduino ESP32 Web服务器从microSD卡读取 Arduino ESP32 Web服务器从microSD卡读取 将网页内容放到SD卡中,当有客户端数据请求时,从SD卡读取信息进行发送,比起SPIFFS文件系统,更节约板上的硬件资源。 SD卡接线说明 ESP32----- SD D5(GPIO 5)-----CS D18(GPIO 18)-----SCK D19(GPIO 19)-----MISO D23()GPIO 23-----MOSI 文件放置 需要把文件放置到SD卡的根目录下。注意SD卡的格式FAT32格式。 实例代码 /* 阅读详情

问题 H: Crazy Rabbit
时间限制: 2 Sec 内存限制: 512 MB
提交: 37 解决: 12
[提交][状态][讨论版]
题目描述
兔子们决定在自己的城堡里安排一些士兵进行防守。给出 n 个点的坐标,和城堡里一个圆心在原点的圆形的障碍
,兔子们希望从中选出 k 个兔子,使得它们两两所在的直线都不与圆相交。兔子们希望知道最多能选出多少兔子
输入
第一行两个整数 N 和 R, 表示兔子的个数和圆的半径接下来 N 行,每行两个整数 xi 和 yi ,表示第 i 只兔子
的坐标保证每只兔子都严格在障碍外部,且两两的所在的直线不与圆相切。
对于 100% 的测试数据, 1 <= n <= 2000; 1 <= R, xi, yi <= 5000
输出
输出一行一个整数, 表示最多能选出多少兔子
样例输入
6 3
0 6
-7 -4
-3 -2
7 -5
-2 3
8 -3
样例输出
4
【样例1解释】
选择第 1, 2, 6, 4 只兔子即可。

我开始想到了二分个数。。。貌似check只能2^n…
实际上从一个兔子作圆的两条切线,作为兔子的视线范围,那么就有几个性质。
1.如果两个兔子的视线范围相交,那么这两个兔子的连线就不会接触到圆。
2.如果两个兔子视线范围互相覆盖,那么连线所在的直线过圆。
3.如果不相交,则连线过圆。
这样问题就变成了在圆上选一些区间,让他们互相相交而不包含。
但这样还是很麻烦QAQ,其实还有一个性质,和线段覆盖的是优弧还是劣弧无关。现在把连线过圆的两种情况视为一种,如果当前被全覆盖,那么换成劣弧就成了不相交。怎么换都是连线过圆的情况。同理,如果当前两线段相交而不互相覆盖,说明线段2覆盖了线段1无法覆盖的一段地方,而线段1改成他的补集后,就覆盖了刚才他无法覆盖的一段。
所以现在问题转化成线段上找区间使其相交而不包含。
可以发现所有区间的左端点都在最靠左区间内部,而区间右端点都在之外。所以我们只要给区间按左端点排序,逐个枚举区间,选出满足这个的区间,然后让区间右端点跑最长上升子序列,更新答案即可。
其实把兔子转化成区间的过程用到了计几。
%%%%%达哥。

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cmath>
#define N 2005
#define fir first
#define sec second
#define d double
using namespace std;
int read()
{
    int sum=0,f=1;char x=getchar();
    while(x<'0'||x>'9'){if(x=='-')f=-1;x=getchar();}
    while(x>='0'&&x<='9'){sum=(sum<<1)+(sum<<3)+x-'0';x=getchar();}
    return sum*f;
}
int n,ans,r;
pair<d,d> a[N]; 
d b[N],c[N],P=acos(-1.0);
int check(int x)
{
    if(x==0)return 0;
    int len=0;c[++len]=b[1];
    for(int i=2;i<=x;i++)
    {
        if(b[i]>c[len]){c[++len]=b[i];continue;}
        int l=upper_bound(c+1,c+len+1,b[i])-c;
        c[l]=b[i];
    }
    return len;
}
int main()
{
    n=read();r=read();
    for(int i=1,x,y;i<=n;i++)
    {
        x=read();y=read();
        d k=sqrt(x*x+y*y),jj=atan2(y,x),Cos=acos(r/k);
        d l=jj-Cos,r=jj+Cos;
        while(l<=-P)l+=2.0*P;
        while(r>P)r-=2.0*P;
        if(l>r)swap(l,r);
        a[i]=make_pair(l,r);
    }
    sort(a+1,a+n+1);
    for(int i=1,len;i<=n;i++)
    {
        len=0;
        for(int j=i+1;j<=n;j++)
            if(a[j].fir<=a[i].sec&&a[j].sec>a[i].sec)
                b[++len]=a[j].sec;
        ans=max(ans,check(len)+1);
    }
    printf("%d\n",ans);
}
Windows 11 安装 JDK 25:下载、安装、配置环境变量、验证 本文详细介绍了在 Windows 11 系统上安装 JDK 25 的完整流程,包括从 Oracle 官网下载压缩包、解压至自定义目录、配置 JAVA_HOME 与 Path 环境变量,并验证安装是否成功。文章推荐使用 ZIP 压缩包而非 EXE 安装程序,以实现绿色便携、多版本共存和灵活管理。最后通过一个使用 Java 25 新特性的示例程序,验证 JDK 的编译与运行环境。 阅读详情

相关推荐

FreeRTOS实战:STM32CubeMX配置USART+DMA实现高效串口通信(附完整代码)

本文详细介绍了如何使用FreeRTOS和STM32CubeMX配置USART与DMA实现高效串口通信。通过对比轮询、中断和DMA三种模式的性能差异,提供完整的STM32CubeMX配置步骤和代码实现,帮助开发者优化嵌入式系统的串口通信性能,显著提升数据吞吐量和系统响应速度。

weixin_29190169的博客 455

P3897 [湖南集训]Crazy Rabbit

\(\color{#0066ff}{ 题目描述 }\) 兔子们决定在自己的城堡里安排一些士兵进行防守。 给出 n 个点的坐标,和城堡里一个圆心在原点的圆形的障碍,兔子们希望从中选出 k 个兔子,使得它们两两所在的直线都不与圆相交。 兔子们希望知道最多能选出多少兔子。 \(\color{#0066ff}{输入格式}\) 第一行两个整数 N 和 R, 表示兔子的个数和圆的半径接下来 N 行,每行两个整...

weixin_30480651的博客 191

从零搭建ECG心电图仪:模拟前端电路设计与噪声对抗实战

在电子工程和生物医学信号处理领域,微弱信号的采集与放大是核心挑战。其基本原理在于利用高精度模拟电路,从强大的环境噪声中提取出有用的差分信号。这项技术的核心价值在于将理论上的传感器信号转化为稳定、可靠的可用数据,是连接物理世界与数字系统的关键桥梁。在医疗监护、工业传感和科学测量等场景中,高性能的模拟前端设计直接决定了整个系统的精度与可靠性。本文聚焦于生物电信号采集这一具体应用,深入探讨如何运用差分放大器、低通滤波器和陷波滤波器等经典模块,构建一个能够有效对抗工频干扰和接触噪声的实用电路,最终实现从人体体表清晰

weixin_30616969的博客 460

[几何 LIS] BZOJ 3663 Crazy Rabbit & 4660 Crazy Rabbit & 4206 最大团

膜一发题解 问题转化为直线上有一些区间,选出尽量多的区间使得它们两两之间”相交但不包含” 考虑最终方案中选出来的所有区间中左端点最小的一个,因为区间两两之间有公共部分所以这个区间内必须包含其他所有区间的左端点.那么我们枚举这个左端点最小的区间,只把其他区间中左端点在这个区间内的区间拿出来,按左端点排序后对右端点跑LIS,就可以保证选出来的区间有公共部分而且不包含.复杂度为O(n2logn)

雯舞 666

RabbitMQ的使用(JAVA)

Java快速上手的MQ上线!

.............. 1万+

保姆级教程:在Ubuntu 20.04上从零跑通AT128雷达实时点云(附PandarView 2安装避坑指南)

本文提供了一份详细的Ubuntu 20.04系统下AT128雷达实时点云配置教程,涵盖环境准备、脚本修改、PandarView 2安装及常见问题排查。通过逐步指导,帮助开发者解决权限、网络配置等难题,确保顺利实现雷达数据的实时可视化。特别附有PandarView 2安装避坑指南,适合新手快速上手。

weixin_30813225的博客 299

洛谷P3897 [湖南集训]Crazy Rabbit(BZOJ3663 4660 4206)

计算几何 LIS 洛谷题目传送门 BZOJ3663 BZOJ4660 BZOJ4206 这套题老师拿给我们考简直有毒 神题根本不会做,考场上就写了个10分代码。 %%%liu_runda 我们通过看题解画图可以发现,当两个点的切点所对应的弧相交且不包含时才能满足题意。 差不多长这样: 和[HAOI2008]下落的圆盘这道题一个套路,我们把圆上的点对应到区间上来。 原问题转...

forezxl的博客 450

想重装OpenClaw?先执行这4步彻底卸载,避免配置冲突

在重装OpenClaw之前,彻底卸载是非常重要的一步。如果不彻底卸载,可能会导致: - 残留的配置文件与新安装的版本冲突 - 旧的依赖包干扰新的安装过程 - 服务冲突导致启动失败 - 数据混乱影响系统稳定性

一键难忘的博客 1043

【BZOJ4660】Crazy Rabbit 结论+DP

【BZOJ4660】Crazy Rabbit Description 兔子们决定在自己的城堡里安排一些士兵进行防守。给出 n 个点的坐标,和城堡里一个圆心在原点的圆形的障碍,兔子们希望从中选出 k 个兔子,使得它们两两所在的直线都不与圆相交。兔子们希望知道最多能选出多少兔子 Input 第一行两个整数 N 和 R, 表示兔子的个数和圆的半径接下来 N 行,每行两个整数...

aodanchui1057的博客 171

【教程4>第5章>第28节】基于帧同步+相位同步+位同步的QPSK调制解调通信系统整体性能分析

综上所述:1.SNR<10db时,整体性能下降,当SNR=0db时,系统无法正常工作。2.gardner环性能达到2.5e-5时偏可以正常工作,增加之后无法正常工作。3.当相位偏差大于pi/4的时候,对最后的性能会有一定影响。

FPGA/MATLAB学习教程/源码/项目合作开发 556

三、参考比较法之城市建成区提取——提取

在正式开始提取之前,还是要继续啰嗦一下,其实基于夜间灯光数据建成区提取,可以分为好几个层次,基于县一级、市一级、省一级,很多论文的做法都是以市一级为准,也就是统计好市一级城市的每一年的统计年鉴中的建成区面积作为备用。有人可能会问为什么不以县一级,由于县一级的统计数据一般存在缺失,很难形成一个长时间序列的数据,所以一般采取的是市一级。前文也进行建议,如果确实要基于县一级进行提取可以参考前面理论介绍那篇文章中的相关建议。那么当我们确定阈值后如何将城市建成区提取出来?

端木宛白的博客家园 5401

bzoj 4660 Crazy Rabbit——LIS解决“相交”限制的思想

题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4660 想到一个点可以用它与圆的两个切点表示。并想到可以把切点极角排序,那么就变成环上的一些区间之间的问题。 发现了一个区间和另一个区间可以共存,当且仅当它们相交。不知怎的没看到题面的 “直线” ,以为包含也可以。 所有区间都两两相交,考虑枚举一个点作为所有区间都经过的点。但发现因为是环...

weixin_34204057的博客 142

计算机网络基础:揭开网络世界的神秘面纱

计算机网络基础:揭开网络世界的神秘面纱,计算机网络已深度融入现代生活,这篇文章对其基础内容展开全面阐述。开篇介绍计算机网络的定义,说明其由计算机设备、网络设备和传输介质构成。接着从地域范围和拓扑结构两个维度对计算机网络进行分类,并详细讲解 OSI 和 TCP/IP 参考模型,明晰各层功能与联系。随后阐述网络通信协议的定义及常见协议,如 TCP/IP、HTTP 等。最后聚焦网络安全,涵盖定义、重要性以及防火墙、加密技术等常用安全技术。文章旨在帮助读者构建计算机网络基础知识体系,理解其在生活和工作中的应用与价值

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 6万+

Bzoj3663/4660 CrazyRabbit

题意:给定平面上一个圆和一堆圆外的点,要求选出尽可能多的点使得它们之间两两连线都不和圆相交。保证任意两点连线不和圆相切。点数<=2000 这题是很久以前在某张课件上看见的。看了题解还搞了三小时,联赛滚粗既视感。 有个结论我是直接看的课件:“点和点连线不与圆相交”对应“这两个点所对的圆上的极角序区间相交但不相互包含”,并不会证,画画图好像是对的。 在直线上选择一些两两相交且不包含的区间[...

weixin_30262255的博客 217

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

容斥原理 集合计数

问题 J: 集合计数 时间限制: 1 Sec 内存限制: 128 MB 题目描述 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007。(是质数喔~) 输入 一行两个整数N,K 输出 一行为答案。 样例输入 3 2 样例输出 6 提示 【样例说明】

蒟蒻QTY 1276

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

分层背包 [HNOI2007]梦幻岛宝珠

问题 I: [HNOI2007]梦幻岛宝珠 时间限制: 1 Sec 内存限制: 162 MB 提交: 32 解决: 6 [提交][状态][讨论版] 题目描述 给你N颗宝石,每颗宝石都有重量和价值。要你从这些宝石中选取一些宝石,保证总重量不超过W,且总价值最大为,并输出最大的总价值。数据范围:N<=100;W<=2^30,并且保证每颗宝石的重量符合a*2^b(a<=10;b<=30)输入

蒟蒻QTY 1255

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

树DP 小奇的仓库(warehouse)

问题 C: 小奇的仓库(warehouse) 时间限制: 1 Sec 内存限制: 256 MB 提交: 121 解决: 30 [提交][状态] 题目描述 【题目背景】小奇采的矿实在太多了,它准备在喵星系建个矿石仓库。令它无语的是,喵星系的货运飞船引擎还停留在上元时代!【问题描述】喵星系有n个星球,星球以及星球间的航线形成一棵树。从星球a到星球b要花费[dis(a,b) Xor M]秒。

蒟蒻QTY 1230

数学 gcd

题面请去内网找这题的正解用到了容斥原理,只要统计出(用一个桶)有某个数作为因数的数的个数。sum[i]表示有多少数有一个因数是i. 很明显这样就可以利用容斥原理了。而容斥系数就是莫比乌斯函数,线性筛即可。ans只要在原有基础上+=μ[i]*sum[i]。#pragma GCC optimize("O3") #include<cstdio> #include<cstdlib> #include<cs

蒟蒻QTY 1172

bzoj3124 [Sdoi2013]直径 树的直径

问题 I: [Sdoi2013]直径 时间限制: 1 Sec 内存限制: 256 MB 题目描述 小Q最近学习了一些图论知识。根据课本,有如下定义。树:无回路且连通的无向图,每条边都有正整数的权值来表示其长度。如果一棵树有N个节点,可以证明其有且仅有N-1 条边。 路径:一棵树上,任意两个节点之间最多有一条简单路径。我们用 dis(a,b) 表示点a和点b的路径上各边长度之和。称dis(a

蒟蒻QTY 1167

可持久化01Trie [Heoi2013]Alo

问题 I: [Heoi2013]Alo 时间限制: 3 Sec 内存限制: 256 MB 提交: 64 解决: 24 [提交][状态][讨论版] 题目描述 Welcome to ALO ( Arithmetic and Logistic Online)。这是一个VR MMORPG , 如名字所见,到处充满了数学的谜题。 现在你拥有n颗宝石,每颗宝石有一个能量密度,记为ai,这些宝石

蒟蒻QTY 1049

water

问题 B: water 时间限制: 1 Sec 内存限制: 256 MB 题目描述 有一块矩形土地被划分成 n*m 个正方形小块。这些小块高低不平,每一小块都有自己的高度。水流可以由任意一块地流向周围四个方向的四块地中,但是不能直接流入对角相连的小块中。 一场大雨后,由于地势高低不同,许多地方都积存了不少降水。给定每个小块的高度,求每个小块的积水高度。 注意:假设矩形地外围无限大且高度为

蒟蒻QTY 991

杂题 [Ceoi2010]A huge tower

问题 A: [Ceoi2010]A huge tower 时间限制: 1 Sec 内存限制: 259 MB 题目描述 有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长。问有几种方法,输出 答案 mod 1000000009的值 输入 第一行: N,D 第二行: N个数,表示每块砖的长度。 输出 方案数。输出要mod1000

蒟蒻QTY 959

坐标DP 小奇的矩阵(matrix)

问题 B: 小奇的矩阵(matrix) 时间限制: 1 Sec 内存限制: 256 MB 提交: 95 解决: 34 [提交][状态] 题目描述 【题目背景】小奇总是在数学课上思考奇怪的问题。【问题描述】给定一个n*m的矩阵,矩阵中的每个元素aij为正整数。接下来规定1.合法的路径初始从矩阵左上角出发,每次只能向右或向下走,终点为右下角。2.路径经过的n+m-1个格子中的元素为A1,A

蒟蒻QTY 958

模拟 [Sdoi2010]猪国杀

题目的可读版本有那么几个地方需要注意: 1.使用一个锦囊后,先判无懈可击。 2.如果一个猪出完一个牌后,要从头开始看哪个能出(有可能一次出牌后某只猪跳忠或者跳反了,F,K什么的就可以用了。) 3.游戏结束时,没抓的牌就不用抓了。 4.循环无懈可击 5.行末没空格昨天打的时候,有个没玩过三国杀的dalao问我能不能无懈杀。。。。 其实这种题完全没有思维含量,只要打之前把所有细节构思好,之后

蒟蒻QTY 932

DP mine

问题 A: mine 时间限制: 1 Sec 内存限制: 256 MB 提交: 129 解决: 31 [提交][状态] 题目描述 有一个1 维的扫雷游戏,每个格子用*表示有雷,用0/1/2 表示无雷并且相邻格子中有0/1/2 个雷。 给定一个仅包含?、、0、1、2 的字符串s,问有多少种方法将所有的?改为/0/1/2 使其合法。 输入 一行一个字符串s 输出 一行一个整数表示

蒟蒻QTY 917

欧拉函数+线段树 奇数国

问题 B: 奇数国 时间限制: 1 Sec 内存限制: 256 MB 提交: 82 解决: 44 [提交][状态][讨论版] 题目描述 在一片美丽的大陆上有100000个国家,记为1到100000。这里经济发达,有数不尽的账房,并且每个国家有一个银行。某大公司的领袖在这100000个银行开户时都存了3大洋,他惜财如命,因此会不时地派小弟GFS清点一些银行的存款或者让GFS改变某个银行的

蒟蒻QTY 915
上一篇: 可持久化01Trie [Heoi2013]Alo
下一篇: 矩阵乘 [Shoi2013]超级跳马
QTY_
博客等级 码龄9年 13粉丝 211原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值