题解 我们把这个多边形三角形剖分了,和统计多边形面积一样 每个三角形有个点是原点,把原点所对应的角度算出来,记为theta 对于一个点,相当于半径为这个点到原点的一个圆,圆弧上的弧度为theta的一部分 相当于一条直线和这个小圆弧求交,直接算出有交的角度然后累加最后除2PI即可 可以拿余弦定理爆算(反着也不是你自己算 代码 #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,in…
传送门 Solution 考虑求每个点的贡献 等价于一个以OA长为半径的圆心为原点的圆在多边形内的弧对应的角度/\(2\pi\) 求弧度可以利用三角剖分 在原点的点要特判,采用射线法就可以了 Code #include <bits/stdc++.h> #define reg register #define ll long long #define db double using namespace std; int read() { int x=0,f=1;char ch=getchar…