2025杭电多校第九场 乘法逆元、阿斯蒂芬、计算几何 个人题解
计算几何计算几何
题目
思路
由于给定的是一条不自交的折线,因此可以直接沿着给定的折线来走
如果下一个点相对于当前的前进方向是向左,那么当前点标记为1,否则为0
判断方向可以通过相邻的两个线段的向量的叉乘正负性
最后根据给定的折线是顺时针还是逆时针来判断1、0对应的是\(YES,NO\)
如何判断给定的折线是顺时针还是逆时针呢?
可以对相邻的两个点的向量进行叉乘后累加,计算这个多边形的面积,最后判断总面积的正负形就可以知道给定的折线是顺时针还是逆时针了
特别需要注意的是,由于给定的点都是整数,叉乘计算出来的数也是整数,如果用板子里自带的\(double\)类型的变量和函数,将会出现精度问题!!
赛时因为这个问题\(WA\)了8发
代码实现
#include#include#include#include#include#includeusing namespace std;using ll = long long;#define rep(i, a, b) for(int i = (a); i = (b); i --)#define see(stl) for(auto&ele:stl)cout 谢谢分享,辛苦了 东西不错很实用谢谢分享 前排留名,哈哈哈 新版吗?好像是停更了吧。 感谢,下载保存了 谢谢分享,试用一下 感谢分享,学习下。 谢谢分享,试用一下 很好很强大我过来先占个楼 待编辑 喜欢鼓捣这些软件,现在用得少,谢谢分享! yyds。多谢分享 感谢分享 谢谢楼主提供! 感谢,下载保存了 yyds。多谢分享 不错,里面软件多更新就更好了 感谢分享 感谢,下载保存了 用心讨论,共获提升!