本文主要是介绍计算几何之大圆包含小圆问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题意:
给出一个大圆,n个小圆,求大圆匡小圆时小圆半径和最大是多少
题解:
使用类似扫描线的东西
先搞出各个端点,然后求一个前缀和就好了
若是求园的个数,那么下面p数组的第二个值为 1 或者 -1即可
#include<math.h>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;#define MAXN 100005
#define LL long long
pair<double,int>p[MAXN*2];int main()
{int n,R,T;int x,y,r;freopen("walk.in","r",stdin);//freopen("in.txt","r",stdin);scanf("%d",&T);while(T--){int cnt=0;scanf("%d%d",&n,&R);
这篇关于计算几何之大圆包含小圆问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!