计算几何
YancyKahn
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU-5979 Convex
【HDU-5979 Convex】 题意: 给定一个多边形, 绕中心的角度和长度给定。 分析: 直接遍历一遍求每个对应的三角形面积, 求和。 #include <bits/stdc++.h> using namespace std; const double PI = 3.141592654; int main () { double res = 0; int ...原创 2018-10-02 18:59:49 · 323 阅读 · 0 评论 -
POJ-1379 Run Away 计算几何 模拟退火
POJ-1379 Run Away 题意: 平面上给定n个点, 要求找到一个点使得到所有点的距离最大。 分析: 模拟退火, 计算到每个点的最小距离, 使得最小距离最大。 代码: #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;algorithm&gt; #include &lt;cmath&gt原创 2018-11-02 09:24:49 · 455 阅读 · 1 评论 -
HDU-2438 Turn the corner 计算几何 三分
HDU-2438 Turn the corner 题意: 给定一个直角弯, 判断一辆矩形形状的车是否可以通过. 分析: 假设车辆是沿着右和下的边通过, 设车辆与x轴的夹角为a, 那么可以得到靠内侧的那条边的解析式 y = xtan(a) + lsin(a) + d/cos(a) 那么车辆要能通过这个转弯, 要求是内侧的角不能相撞, 那么另y = -X(注意是大写), 带入解得x(小写). x...原创 2018-11-03 22:29:20 · 365 阅读 · 0 评论 -
POJ-2420 A Star not a Tree? 计算几何 模拟退火
POJ-2420 A Star not a Tree? 题意: 给定n个点, 找到一个点p使得p到所有点的距离之和最小. 分析: 模拟退火随机产生圆心坐标, 跑一遍模拟退火就行, 这题n的范围是100, 莫名其妙re, 开1000就ac了. 代码: #include &lt;algorithm&gt; #include &lt;cmath&gt; #include &lt;cstdio&g...原创 2018-11-03 21:14:52 · 503 阅读 · 0 评论 -
HDU-3644 A Chocolate Manufacturer's Problem 计算几何 模拟退火
HDU-3644 A Chocolate Manufacturer’s Problem 题意: 给定一个多边形, 判断这个多边形中是否可以放入一个半径为r的圆. 分析: 发现不知从何入手时就开始模拟退火吧. 随机找出圆心坐标, 主要就是判断某个点是否在多边形内. 这题wa和tle了好多次, 参数选择需要些微调, 模拟退火有风险, 罚时伤不起. 代码: #include <algori...原创 2018-11-03 21:09:02 · 429 阅读 · 0 评论 -
HDU-2297 Run 计算几何 凸包思想
HDU-2297 Run 题意: 一维线段n个可以运动的点,位置为p, 速度为v。 求在运动的过程中有多少点可以领跑(在最前面)。 分析: 可以将速度v也变成一个维度, 一个点要超过另一个点的前提条件是速度更大, 其中可以根据求凸包的思想, 如果这个点到另一个点的相对距离与相对速度做除法运算, 即求得斜率。 斜率大的可以更先跑到前面并且不会被他超过, 在这里要对位置和速度排序, 然后按照求凸包...原创 2018-11-01 13:04:57 · 574 阅读 · 0 评论 -
HDU-3400 Line belt 计算几何 三分
HDU-3400 Line belt 题意:给定两条线段AB和CD, 在AB上的速度为p, CD上的速度为q,其他地方的速度为r, 求从A->D的所需的最短时间。 分析: AB和CD上分别有一个点是满足最小条件的, 满足凸函数性质,可以对AB和CD区间进行分别三分求解, 详情见代码。 代码: #include <iostream> #include <cstdio> ...原创 2018-11-01 00:19:35 · 334 阅读 · 0 评论 -
POJ-3301 Texas Trip 计算几何 三分
POJ-3301 Texas Trip 题意: 求最大正方形覆盖 分析: 旋转所有的点, 统计最大和最小的x,y坐标。这是一个凹函数(好像是的吧), 然后三分旋转区间, 求解。 代码: #include <cmath> #include <cstdio> #include <cstring> #include <algorithm> #includ...原创 2018-10-31 23:20:00 · 406 阅读 · 0 评论 -
HDU-4454 Stealing a Cake 计算几何 三分
HDU-4454 Stealing a Cake 题意: 给定一个点, 圆和矩形。 求这个点到圆和再从圆到矩形的最短距离之和。 分析: 很明显这个距离是一个凹函数, 我们要求这个极值点, 这里用到三分, 标准解法, 要注意的是, 需要分为两个部分[0, pi]和[pi, 2*pi]。是因为他的函数图像是这样的。 所以我们要分成两个部分分别求极值, 然后取最小值即可。 代码: #includ...原创 2018-10-31 19:14:32 · 392 阅读 · 0 评论 -
POJ-1385 Lifting the Stone 计算几何 多边形重心
POJ-1385 Lifting the Stone 题意: 计算多边形的重心。 分析: 通过计算其中三角形的加权重心得到整个多边形的重心。POJ(g++ wa, c++ ac)很迷。 代码: #include &amp;amp;amp;amp;amp;amp;amp;amp;lt;cstdio&amp;amp;amp;amp;amp;amp;amp;amp;gt; #include &amp;amp;amp;amp;amp;amp;amp;amp;lt原创 2018-11-04 11:43:51 · 396 阅读 · 0 评论
分享