摘要:
题意:给出一些建筑物的高度与宽度,求出一条最矮的抛物线运动轨迹,能够跨过所有的建筑物。输出初速度与水平方向的夹角,以及初速度的大小。重力加速度取9.8m/(s^2)题解:相当于知道抛物线两点,求最小高度,二分抛物线方程的参量,然后检查所有建筑的顶点和抛物线的高度。再次没有写。。。。 阅读全文
摘要:
题意:给你两个集合的点,让你求一条线把这些点分成两部分,使得每一部分都包含每个集合点的一半。题解:继续通过没据点来枚举半平面~用那个多添加n-1个元素的方法,写起来真是无脑~View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cstdio> 5 #include <algorithm> 6 #include <cmath> 7 8 #define N 33333 9 #define EPS 1e-710 阅读全文
摘要:
球面距离公式:dis = acos(sin(p1y) * sin(p2y) + cos(p1y) * cos(p2y) * cos(p2x - p1x)) * R;其中p1y,p2y表示维度(北正南负),p1x,p1y表示经度(东正西负)。R为球的半径 阅读全文
摘要:
题意:一些点,求一个单位圆最多能覆盖的点的个数,不存在两点距离恰好为2.题解:暴力枚举两个点,求圆心,然后枚举每个点验证是否在圆内。n^3的,可以过~当然还有n^2logn的转化为求圆的最大弧的覆盖次数问题(以后做CIRU 的时候也会用到这个技术~)n^3View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <algorithm> 6 #include <cmath> 阅读全文
摘要:
题意:求从光源透过圆形的阴影的线段,并排序输出。题解:求圆的切线,利用勾股定理和坐标旋转即可。处理出所有与地平线的交点,标号正负1,排序,然后扫一遍就好了~View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <cstdlib> 5 #include <algorithm> 6 #include <cmath> 7 8 #define N 2222 9 #define BUG system("paus 阅读全文
摘要:
题意:给你n个点(4~700),问你能够成多少个不同的凸四边形。题解:只要求所有凹四边形即可。对于每个点,凹四边形的个数等于:C(n-1,3)-在这个点同一侧三点构成的三角形的个数。对于凸多边形的一个顶点,其他顶点必然在穿过这个顶点的直线的同侧。处理这个有一个好方法,我以前一直没发现。算极角时,如果是负数(-pi ~ 0),就把它加上2 * pi,这样就把角度统一到了0~2pi。另外,向这题顺次统计两个点的夹角时,由于会出现转了一圈的情况不好计算角度,所以在原来数组后面再顺次加上n-1一个点,角度同一加2pi这个方法真的很好用~View Code 1 #include <iostream 阅读全文
摘要:
题意:给了n(n<50000)圆的圆心坐标和半径,任意两个圆不会相切或者相交,也就是说只存在内含和相离两种关系,问最深的那个圆被嵌套了多少次。题解:抄的别人的。。然后自己还不会nlogn的实现。。后来看别人代码,发现,set用的太神了!比较函数中有一个变量,但是这个变量的改变并不会影响set的形态!所以不会出问题!http://hi.baidu.com/bobo__bai/item/17f7b28bd5994a5d850fab39View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <c 阅读全文
摘要:
题意:一只蚂蚁,只会向左转,现在给出平面上很多个点,求解一种走法,能使得蚂蚁能经过的点最多,每个顶点该蚂蚁只能经过一次,且所行走的路线不能发生交叉.题解:不停地做凸包,将左右栈中弹出的元素继续做凸包,知道没有元素弹出为止。应该是对的吧,没写。。。。懒死啦。。。 阅读全文