随笔分类 - 计算几何
摘要:题意:如题思路:离散。将所有交点求出来,相当于将多变形的边切成了很多条元边,对每条元边,有两种情况在圆内,答案加上此边长在圆外,答案加上此边相对于圆心的"有向转弧"#include using namespace std;#ifndef ONLINE_JUDGE #include "local...
阅读全文
摘要:题意:判断简单多边形内是否可以放一个半径为R的圆思路:如果这个多边形是正多边形,令r(x,y)为圆心在(x,y)处多边形内最大圆的半径,不难发现,f(x,y)越靠近正多边形的中心,r越大,所以可以利用模拟退火法来逼近最优点。对于一般的多边形,由于可能存在多个这样的"局部最优点",所以可以选不同的点作...
阅读全文
摘要:题意:判断两个多边形是否有面积大于0的公共部分思路:扫描线基础。#pragma comment(linker, "/STACK:10240000")#include using namespace std;#define X first#define Y ...
阅读全文
摘要:大致题意:在二维平面上,给一些圆形岛屿的坐标和半径,以及圆形船的位置和半径,问能否划到无穷远的地方去思路:考虑任意两点,如果a和b之间船不能通过,则连一条边,则问题转化为判断点是否在多边形中。先进行坐标变换,将船变到原点,以从起点到每个点的有向角作为状态,每条边的边权为这条边对有向角的改变量,那么点...
阅读全文
摘要:思路:枚举3个点,计算第4个点并判断是否存在,复杂度为O(N3logN)或O(N3α)考虑矩形的对角线,两条对角线可以构成一个矩形,它们的长度和中点必须完全一样,于是将所有线段按长度和中点排序,那么所有可能构成矩形的线段(对角线)一定在连续的区间内,顺序枚举即可,复杂度O(N2logN)。 1 ...
阅读全文
摘要:题意:给n个三角形,分别求覆盖1次~n次的总面积思路: 对每个y坐标作一条平行于x轴的直线,按直线从下往上处理,每两条直线之间为若干梯形(也可以是三角形)首尾相连的情况,从左扫到右时,用一个变量cnt记录当前区域被覆盖的次数,遇到入边cnt++,遇到出边cnt--,边扫边更新答案。入边表示这条边的右...
阅读全文

浙公网安备 33010602011771号