LINK:Boundary 计算几何确实是弱项 因为好多东西都不太会求 没有到很精通的地步. 做法很多,先说官方题解 其实就是枚举一个点 P 然后可以发现 再枚举一个点 然后再判断有多少个点在圆上显然会超时. 直接考虑求出所有点和\(O,P\)的夹角 因为同弧所对圆周角相等 最后统计有多少个角度相等来做. 一个误区是 两个对称的圆上的点被算在一起了 此时强制利用 第三个点在所在直线的左侧/右侧来消除影响. 正确性显然.复杂度\(n^2\cdot logn\) 一个比较好想好写的做法: 枚举到第三…
7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体.  设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱.当i < M时,要求Ri > Ri+1且Hi > Hi+1.  由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小.  令Q = Sπ  请编程对给出的N和M,找出蛋糕的制作方案(适当的Ri和Hi的值),使S最小.  (除Q外,以上所有数据皆为正整…
Squares Time Limit: 3500MS   Memory Limit: 65536K Total Submissions: 18493   Accepted: 7124 Description A square is a 4-sided polygon whose sides have equal length and adjacent sides form 90-degree angles. It is also a polygon such that rotating abou…
在看组合数学,看到逆序列这个概念.于是YY了一道题:已知逆序列,求出原序列. 例子: 元素个数 n = 8 逆序列 a={5,3,4,0,2,1,1,0} 则有原序列 p={4,8,6,2,5,1,3,7} 思路蛮简单的,但是复杂度是O(2*N*lgN)的,不知道有没有O(N)的算法. bit维护点[1,i]的所有空位置,则可以知道这个数列是单调递增的. 每一次去找满足i的逆序列ai+1的最左的空位pos(因为考虑不包括当前位置的空位数),然后更新[pos-1,n]所有空位-1(在pos处插入i…
已知P1.P2.P3,求点O 算法:三点不在一条直线上时,通过连接任意两点,作中垂线.任意两条中垂线的交点是圆心.…
已知段地址为0001H,仅通过变化偏移地址寻址,则CPU的寻址范围是? 物理地址 = 段地址×16 + 偏移地址 所以物理地址的范围是[16×1H+0H, 16×1H+FFFFH] 也就是[10H×1H+0H, 10H×1H+FFFFH] 所以CPU的寻址范围是[10H, 1000FH]…
The Circumference of the Circle Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8310   Accepted: 4960 Description To calculate the circumference of a circle seems to be an easy task - provided you know its diameter. But what if you don't…
Circle Through Three Points Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3766   Accepted: 1570 Description Your team is to write a program that, given the Cartesian coordinates of three points on a plane, will find the equation of the…
至于为什么,上图.转载于MZW_BG 枚举正方形的一条边,此时有上正方形和下正方形. 最后正方形个数/4,因为每个正方形被枚举了4条边 #include <bits/stdc++.h> using namespace std; int x[509],y[509],vis[200][200]; bool ok(int x,int y) { if(x<-50||x>50||y<-50||y>50) return false; if(vis[x+50][y+50]==0) r…
已知空间三点,那么可以就可以确定空间三点组成的平面.此时可以根据某一点的X值和Y值,来求取该点在平面上的Z值.这个过程对于求三角面片上某点的高程或者权值特别有用,其本身也可以看作一种线性插值. 其算法思路也特别简单,首先算出其三点组成的平面法向量(可参看<已知三点求平面法向量>);然后根据平面法向量\(n=(A,B,C)\)和平面上某点\(m=(x0,y0,z0)\),有平面的点法式方程: \[ A(X-x0)+B(Y-y0)+C(Z-z0)=0 \] 最后根据欲求点的X.Y值,代入公式解算Z…