枚举,排序。 先将所有点按双关键字排序,然后枚举线的顶点$P$,剩余的点以$P$为中心进行极角排序,可以取个$gcd$,这样一样的点就排在一起了,然后统计一下更新答案。 ...
分类:
其他好文 时间:
2016-09-01 23:04:12
阅读次数:
241
在平面中给$n$个点,求这$n$个点构成的三角形/锐角三角形的个数。 求三角形的个数比较简单。首先全集是$\binom{n}{3}$,然后考虑补集,补集就是三点共线的点对。所以我们可以枚举每一个点,然后为了避免算重,我们接下来只考虑标号比当前点小的点。接着就进行极角排序,这样就可以统计出当前点所在的 ...
分类:
其他好文 时间:
2016-08-13 12:44:15
阅读次数:
262
T1 bzoj: [Usaco2010 OPen]Triangle Counting 数三角形 看到这个题n那么大, 于是想到极角排序搞一搞,然而排完序后立马懵逼,完全不知道接下来应该怎么写。。。。 盯了好久题目给的图后全无思路于是手绘图,然后我就发现了秘密。。。。 极角排序后,如果两个点能与另外的 ...
分类:
其他好文 时间:
2016-08-09 09:26:24
阅读次数:
254
T1 bzoj1132[POI2008]TRO 还是太弱了。。。。测试时看到这题直接懵逼,极角排序什么的根本想不起来,只会n^3暴力怎么破。。。。。。不过竟然有84。。。。。QAQ 正解是n^2logn的,首先为了避免算重,以点的x坐标为第一关键字和y坐标为第二关键字排好序,然后O(n)枚举当前点计 ...
分类:
其他好文 时间:
2016-08-09 00:03:14
阅读次数:
327
题意:平面上有n个点,一只蚂蚁从最左下角的点出发,只能往逆时针方向走,走过的路线不能交叉,问最多能经过多少个点。 思路:每次都尽量往最外边走,每选取一个点后对剩余的点进行极角排序。(n个点必定能走完,这是凸包的性质决定的) ...
分类:
编程语言 时间:
2016-08-05 19:51:03
阅读次数:
114
传送门
Max AngleTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 704 Accepted Submission(s): 253Problem Description Given many points in a plan...
分类:
编程语言 时间:
2016-08-04 16:24:53
阅读次数:
236
题目链接: How Many Triangles Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 570 Accepted Submission ...
分类:
编程语言 时间:
2016-08-03 18:22:34
阅读次数:
204
给你一堆点,找锐角三角形。 TWO POINTER 思想。 统计出所有锐角和直=钝角的数目。 做法是这样的:对每个点对所有点极角排序,然后TWO POINTER计算每一个锐角(一个边上有好几个点也会被统计好几次),直角钝角。然后ans=(锐角个数-直角钝角个数*2)/3;因为每一个角度可能也只可能出 ...
分类:
其他好文 时间:
2016-08-03 13:21:52
阅读次数:
146
http://acm.hdu.edu.cn/showproblem.php?pid=5784 题意:n个点,找多少个锐角三角形数目 思路:极角排序+two pointers 当前选择的点集要倍增一倍,点集过大时,极角排序后,后面的点有可能和前面的点形成钝角 ans=总的三角形数目 - 三点共线的情况 ...
分类:
其他好文 时间:
2016-08-02 23:51:30
阅读次数:
253