------计算几何------
DZYO
Never stop
展开
-
SGU315:The Highway Belt(DP)
传送门(Vjudge)题意: 给n条线段,用这些线段中的一些围成一个围绕原点的多边形,满足原点发出任意射线与此多边形只有一个交点。求满足条件的多边形的最大周长。(n≤50)(n \le 50)题解:写了一种O(n6)O(n^6)的DP,但是上界是很不满的,所以卡一卡就过去了。。首先求出所有线段的两端点和交点(用map判重),之后每条线段上的点都向逆时针方向连在线段上的边。现在相当于求一个最大简单环原创 2017-11-20 16:40:25 · 262 阅读 · 0 评论 -
POJ1259:The Picnic(DP)
传送门题意: 给nn 个点,求最大凸多边形,要求内部没有点(n≤100)(n\le 100)。题解:DP预处理两两到原点的三角形中包含的点的个数以便O(1)O(1)查询任意三角形中包含的点(我写的代码边界十分繁琐,不知道哪位dalao看了能教教我怎么写得简便一些)。现在固定左端点,考虑包含它及它右端点的最大凸多边形。设f[i][j]f[i][j]表示从选取点开始,到j点,j点从i点转移的多边形的最原创 2017-11-21 11:12:37 · 652 阅读 · 3 评论 -
BZOJ 3707: 圈地 (动态凸包)
传送门题意: 给nn个点,求最小三角形。(n≤1000)(n\le 1000)题解: 好题啊。。首先如果选定了底边的两点,那么还需要选择一条离这条底边最近的点。 将当前坐标系y轴旋转这条底边,那么选择|X||X|最小的点。考虑按照斜率从小到大枚举底边。 对于两个点a,ba,b来说,若一条底边c,dc,d的斜率小于a,ba,b斜率,且在c,dc,d的坐标系下ax>bxa_x>b_x,那么在所有原创 2017-11-18 14:44:57 · 500 阅读 · 0 评论 -
Codevs1273:风战(计算几何,平衡树)
传送门题意: 给PP个黑点和TT个白点(纵坐标均大于0),要求选择一个包含原点的凸多边形,使得凸多边形内黑点个数减去白点个数最大。题解: 先把所有点按照到原点的极角排序。 暴力的O(n3)O(n^3)做法: O(n3)O(n^3)预处理两点与原点构成三角形中点的个数。 f[i][j]f[i][j]表示第ii个点从第jj个点转移过来的最大值,那么枚举每个点从前面合法的状态(顺时针旋转)转移过原创 2017-11-24 11:25:34 · 293 阅读 · 0 评论 -
解析模拟退火算法
一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜转载 2017-03-21 12:41:41 · 899 阅读 · 0 评论