Codeforces 607E - Cross Sum(二分答案+扫描线+计算几何)
首先考虑如何找到距离给定点第 大的交点。二分答案 ,以 为圆心, 为半径做圆,那么如果一条直线和圆没有交点显然也不能和其他点相交,否则我们求出它和圆的两个交点的幅角 ,那么两个直线在圆内相交当且仅当 有交,离散化+扫描线即可。
接下来考虑找到第 大交点以后如何求和,注意到 很小,所以可以直接 set 求出所有交点坐标后暴力计算。值得注意的是,圆上交点个数可能很多,因此我们需要求出圆内所有交点坐标和以及个数 ,然后用 即可算出圆上相交的交点的贡献。
时间复杂度 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2021-08-08 Codeforces 1063F - String Journey(后缀数组+线段树+dp)
2021-08-08 Atcoder Grand Contest 038 F - Two Permutations(集合划分模型+最小割)
2021-08-08 洛谷 P5502 - [JSOI2015]最大公约数(区间 gcd 的性质+分治)