当前搜索:

algorithm 题集三 (16.05.24)

练习的故事仍然继续下去,今天写下的题目难度适中,记录自己近段时间的训练成果。涉及数学,动态规划,字符串问题。poj 2159 Ancient Cipher(规律)http://poj.org/problem?id=2159 大意:密码加密方法,两种加密方式,第一种,替换加密:Substituti...
阅读(4530) 评论(0)

凸包之三道模板应用题

虽然有了现成的凸包算法,但是还有一些求得凸点前期或后期类问题需要自己解决。在这里来个小小的总结。 先贴出求凸包的算法:#include <iostream> #include <cstdio> #include <algorithm> using namesp...
阅读(693) 评论(0)

小球反弹问题

此题没有AC,下面代码没有参考意义,仅供自己学习记录。(郁闷) HDU 3834 Where am I http://acm.hdu.edu.cn/showproblem.php?pid=3834 大意:一个小球在大环内运动,求解经过时间T后的位置。(会给出圆和球的参数,以及初始运动向量,整...
阅读(628) 评论(0)

ZOJ 2675 Little Mammoth(圆和矩形的交——三角剖分)

题目:ZOJ  2675 Little Mammoth  http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2675 大意:求解给定圆和矩形的交。 分析:三角剖分的应用,继上一篇博文说,这次使用那种容易理解的方法来做...
阅读(492) 评论(0)

三角剖分·圆和多边形的交

POJ 3675 Telescope http://poj.org/problem?id=3675 大意:求解圆和多边形的交。 分析:任意一个凸N多边形均可分解成N-2个三角形。因此,这就是讨论分解后的三角形和圆的交的问题。 它有这些情况: (1): (2): (...
阅读(617) 评论(0)

模拟退火算法

一些求解极值的问题不能通过函数特性直接求解,只能暴力枚举,但是单纯的枚举效率不高,通过模拟退火算法可以高效的找到答案。 学习好博文: http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html 相关题目: 最小圆覆盖: hdu 3...
阅读(483) 评论(0)

三维凸包之增量算法

算法工作过程: 选取点集中的四个点构成一个初始的四面体: 选两个点p1, p2,再选一个点p3,p3和p1, p2不在同一条直线上,这样形成了一个面。再选一个点,不在同一个面上,形成一个四面体。 然后继续研究剩余的点: 点在四面体内部,略过。 点在四面体外部,删除此点能“看见”的面,...
阅读(1056) 评论(0)

矩阵乘法经典应用之坐标变化

nyist 298 点的变换 http://acm.nyist.net/JudgeOnline/problem.php?pid=298 大意:给出n个,对其进行m个操作,平移,旋转,缩放,翻转。其中n 分析:对于旋转: x'=rcos(p+r)=xcosp-ysinp y'=rsin (p+r)...
阅读(534) 评论(0)

四面体体积求法

四面体(三棱锥)体积 : 设 有: 不过这是有向的。如果知道那四个顶点,用这个公式即可求出体积。 如果不知道四点仅知道6条边长,就得用下面的方法——欧拉四面体公式 写成行列式: 那么有: 转置: 行列式乘法: 其中, 因为: 所以: ...
阅读(1638) 评论(0)

三维空间——点线面关系

最基础最重要的概念——叉积,说到叉积就要聊聊行列式。 行列式的代数意义与Cramer法则联系密切,先来个简单的例子, 消除x2得到这样的结果: .    行列式 正是那个分母,其计算和叉积一样。 行列式的几何意义更加丰富,面积,体积……如上面的那个行列式就是向量为 的叉积。也就是他们构成的平面...
阅读(1097) 评论(0)

矩形切割-面积求并

离散化:将无限空间的有限个体映射到有限的空间上,做到逻辑上的有限和有序,避免重复。 学习矩形切割就不得不认识线段切割。进而和离散化扯上了关系。 关于线段切割: 设线段ab和cd有交集:k1k2 当a 当b>k2,ab分解(...
阅读(540) 评论(0)

POJ 2079 Triangle(凸包,最大三角形)

http://poj.org/problem?id=2079 大意:在一堆点中寻找三个点,能围成面积最大的三角形。 分析:可以想象最大的三角形一定是凸包上的点围成的。(反证法,想想就知道) 接下来是求解最大的面积。简单的做法是直接来个n^3枚举,这应该会超时。再一次利用凸多边形的凸性,旋转卡壳。 ...
阅读(421) 评论(0)

POJ 3608 Bridge Across Islands(旋转卡壳求凸多边形最短距离)

http://poj.org/problem?id=3608 大意:求解两个凸多边形的最短距离。 分析:依然是旋转卡壳来解决。用一对平行支撑线围绕两个凸多边形来寻找最短的距离。 计算P多边形y最小的端点和y最大的端点,即ymin,ymax 通过ymin,ymax构造两条支撑射线LP和LQ,方...
阅读(678) 评论(2)

POJ 3348 Cows (凸包+多边形面积)

http://poj.org/problem?id=3348 大意:用已有的树围成最大的牧场来养牛,每头牛生活至少需要50平方米。求出能养多少头? 听说此题不难,然而我因为打错了一个变量看了一晚上(外加一早上T_T)。大致思路是:用凸包确定能构造的最大多边形,然后求解凸包多边形的面积。 耻辱...
阅读(357) 评论(0)

POJ 2187 Beauty Contest(凸包优化 || 凸包+旋转卡壳)

http://poj.org/problem?id=2187 大意:求解点和点之间的最大距离的平方。 记得曾经有一道CF的题自己写了一个3重循环也过了,当时自己怀疑计算机一秒是运算10^9吗,还是数据太弱。。。写了一个1e9的程序,果断超时。看来1e8才是保险值 #include #inclu...
阅读(664) 评论(0)

凸包——Graham-Scan算法

Graham-Scan算法是一种灵活的凸包算法,时间复杂度是O(nlogn) 算法细节: 1. 选出最左下角的点(排序:x最小,其次是y最小) 2. 其余点按极角排序,在极角相等的情况下距离极点(p[0])最近的优先 3. 用一个栈(数组)存储凸包上的点,先把p[0],p[1]压入栈。 4. 扫描...
阅读(1346) 评论(0)

POJ 1066 Treasure Hunt(浮点判断线段交点)

http://poj.org/problem?id=1066 在下图中, 求解从四边到中间终点至少要穿过几堵墙。 浮点数据的线段判断是否相交。另外,我们需要设置四边的起点,不是直接遍历每个坐标,而是找已有的交点。(有一种贪心的意思)。 #include #include #include ...
阅读(351) 评论(0)

利用叉积判断点和线的关系

用叉积判断点在线的左侧还是右侧: 记住那句话,逆正顺负(因为参数的设置不同而不同) 9 3 -2 4 -------------------------------- Process exited with return value 0 Press any key to contin...
阅读(1463) 评论(0)

codeforces 304D. Rectangle Puzzle II(设计矩形)

http://codeforces.com/problemset/problem/304/D 大致题意:给出n, m, x, y, a, b(1 ≤ n, m ≤ 109, 0 ≤ x ≤ n, 0 ≤ y ≤ m, 1 ≤ a ≤ n, 1 ≤ b ≤ m)。在范围是(0,0)(n,m)的矩形...
阅读(426) 评论(0)

凸包入门之卷包裹法 & hdu 1348 wall

在二维空间中,凸包可以简单的认为是最小的包含所有点的凸多边形。 简单的卷包裹法:寻找最边缘(一般是最下方的,次之是最左边的)点。假想用一根绳子向右逆时针旋转碰到另一个点,这样新找到的点作为端点,继续旋转绳子重复找点的步骤,一直围成一个凸多边形。时间复杂度:O(n^2) (如果在寻找的射线上有多...
阅读(995) 评论(0)
    个人资料
    持之以恒
    等级:
    访问量: 37万+
    积分: 9440
    排名: 2419
    我的链接
    最新评论