随笔分类 - 几何
摘要:计算出中轴能覆盖到某个点的极角范围,最大覆盖次数即是答案。首先把中轴和点重合,此时中轴的角度为theta = atan(y/x),然后以原点为圆心旋转点和抛物线相交求出之间的夹角,把x = a*y*y 化成极坐标下r cosθ = a *r *r (1 - cos2θ) ,解方程得到极角范围应该为[...
阅读全文
摘要:分相离,内含,想交三种情况讨论一下。主要是精度和数据范围的问题,首先数据用long double,能用整型判断就不要用浮点型。题目中所给的坐标,半径是整型的,出现卡浮点判断的情况还是比较少的。最后算三角型面积的时候不要用海伦公式,有四个连乘很容易爆数据范围损失精度,即使拆开两两乘也要考虑符号(取对数...
阅读全文
摘要:摘要:数形结合,斜率优化,单调队列。题意:求一个长度为n的01串的子串,子串长度至少为L,平均值应该尽量大,多个满足条件取长度最短,还有多个的话,取起点最靠左。求出前缀和S[i],令点Pi表示(i,S[i]),那么这个问题就转化成了求斜率最大的两点。画图分析可知,如果有上凸点,那么上凸点,一定不会是...
阅读全文
摘要:任意线可以贪心移动到两点上。直接枚举O(n^3),会TLE。所以采取扫描法,选基准点,然后根据极角或者两两做叉积比较进行排排序,然后扫一遍就好了。旋转的时候在O(1)时间推出下一种情况,总复杂度为O(n^2logN)就可以过了。另外,本题有个很巧妙的技巧,就是一点等效与相反坐标的相反颜色的点。第一次...
阅读全文
摘要:题意:求空间两线的最短距离和最短线的交点题解:线性代数和空间几何,主要是用叉积,点积,几何。知道两个方向向量s1,s2,求叉积可以得出他们的公共垂直向量,然后公共垂直向量gamma和两线上的点形成的向量做内积,在除掉gamma的长度就得到投影,即是最短距离。然后求两个点可以用gamma和s2的叉积和...
阅读全文
摘要:题意:分段用椎台面积近似计算体积,然后计算出近似值和真实值的相对误差微积分加数学。平头椎台的体积计算公式:V = 1/3*h*(S1+S2*sqrt(S1*S2)一个更快的计算多项式值的方法: for(int i = 15; i >= 0; i--) ans = ans*x+p[i],比直接pow快...
阅读全文