今天又切了一题,做题的同时当然也验证了各种模板每次都感觉有所改进View Code #include <math.h>#include <cstdio>#include<algorithm>using namespace std;const int maxn = 100010;const double eps = 1e-8;inline int max(int x,int y){return x>y?x:y;}inline double max(double x,double y) {return x>y?x:y;}inline double m Read More
收获不错:线段 、 直线相交神马的更加熟练了,一些细节的处理也加强了给你一个多边形,一条直线,注意,是一条直线,判断这条直线在多边形内部的长度的总和做法很明确,求出所有的交点,按一个方向排序,相邻两个点之间的线段肯定要么全部在多边形内,要么全部不在多边形内,所以只要判断两点间的中点在不在多边形内就可以了这道题目值得注意的是:在求直线与线段交点的时候,先判断一下直线能否与线段相交,再求交点,可以节省很多计算量,不这么做可能就超时了献上我的一大坨代码View Code #include <math.h>#include <cstdio>#include<algorit Read More
zoj 2419 poj 2079 求点集中面积最大的三角形网上很多的做法都是暴力枚举的,数据太水了才会过,下面的做法是O(n)的,但是没有严格的证明先枚举一条边(i,j),再枚举一个点k,让点k一直跑,跑到最远为止。(凸包的单调性)固定边( i ,k),枚举j,。。。。。。。。。。。。。。。。固定(j、k),。。。。。。。。。。。。。。。。。。。。。。。注意每一次旋转结束后需要更新面积的最大值(如果能更新)如果一次下来 i,j,k都在原来的地方没有动过,就让k往后挪一个位置直到k到了第一个点程序终止View Code #include <math.h>#include <c Read More