计算几何
oranges_c
落寞是岁月的痕迹
展开
-
【HDU5828】Hard problem(计算几何)
参考博客:http://www.cnblogs.com/inmoonlight/p/5788081.html #include <cstdio> #include <iostream> #include <cstring> #include <string> #include <algorithm> #include <cstdlib> #include <vector> #include <se原创 2016-08-20 18:33:25 · 178 阅读 · 0 评论 -
【HDU5784】How Many Triangles(极角排序 + two-pointer)
题目大意: 给你一些点的坐标让你求出锐角三角形的个数。 题解: 数一数锐角的数量A和直角+钝角的数量B,那么答案就是(A-2B)/3。 暴力算的话是O(n^3)的。使用极角排序+two pointers就可以做到O(n2log n)。 这边钝角指代范围在90度到180度之间的角(不包括90和180)。#include <cstdio> #include <iostre原创 2016-08-08 15:41:39 · 329 阅读 · 0 评论 -
Codeforces 755-D. PolandBall and Polygon(树状数组+计算几何)
题目链接 题目大意: 给你一个凸n边形。从1开始,将点与接下来的第k个点连条线,然后从第k个点开始重复操作,每次操作输出凸边形有多少块区域。不会有三条线交于一点的情况。我们需要知道每次连线相交了多少条线。 假设现在在x点,那么只需要知道x+1,…,x+k-1和x-k+1,…,x-1有多少条线是以这些点为起点的。因为如果是以这些点为起点的线,那么x’+k肯定会超过x或x+原创 2017-01-18 15:12:03 · 389 阅读 · 0 评论 -
【POJ2504】Bounding box(计算几何)
题目链接 题目大意: 给你一个正n边形的三个点,求一个边平行于坐标轴的面积最小的矩形,能覆盖正n边形的所有点。这题用到向量旋转公式(逆时针旋转,若顺时针则r改为-r): (x1−x0)=(x′−x0)∗cos(r)+(y′−y0)∗sin(r);(x1 - x0) = (x' - x0) * cos(r) + (y' - y0) * sin(r); (y1−x0)=(原创 2017-01-05 19:31:57 · 506 阅读 · 0 评论 -
hdu_round1-1007 吃巧克力(计算几何)
CYF 喜欢吃巧克力,有一天,CYF收到了一份镶嵌在平面直角坐标系上的巧克力,这个巧克力的形状是一个正多边形。日子一天天过去,CYF吃完了这份巧克力,但是却忘记了自己吃的巧克力有几条边,只记得正多边形巧克力上三个点的坐标。 CYF知道送自己巧克力的人非常小气,所以正多边形巧克力的边数不会超过100。现在的CYF非常想知道自己吃的正多边形巧克力到底有多少条边,你能帮他算一下吗?原创 2017-07-03 15:25:39 · 422 阅读 · 0 评论