题意:
给定一个平面上n个点和一个值D,要求在x轴上选出尽量少的点,使得对于每一个点,都有一个选出的点离他的欧几里得距离不超过D。
分析:
实际上这道题可以转换为区间问题
根据n个点的高度和所在位置,可以确认这个点需要的x轴的点的取值范围。
然后根据贪心算法,按r排序,然后尽量选择区间的右边。
代码:
#include<bits/stdc++.h>
#define LL long long
#define ms(s) memset(s, 0, sizeof(s))
using namespace std;
const int maxn = 1e5 + 10;
struct Node {
double x, h;
double l, r;
friend bool operator < (const Node&

这是一篇关于UVa 1615题目的博客,讨论如何在平面上选取最少的x轴点,确保所有点到至少一个选定点的欧几里得距离不超过给定值D。通过将问题转化为区间问题并应用贪心策略,按点的高度和位置排序,优先选择区间的右边作为候选点。
&spm=1001.2101.3001.5002&articleId=103100559&d=1&t=3&u=aa2dc42673024bc98ac0114b8ef2e10e)
404

被折叠的 条评论
为什么被折叠?



