Atcoder abc251
https://atcoder.jp/contests/abc251/tasks
G - Intersection of Polygons
N点 凸convex多边形
按照逆向时针给点
考虑 m个 n点凸多边形
第i个,是通过把原来的平移(ui,vi)
q个询问, 问(ai,bi) 是否被所有m个凸多边形覆盖
范围
n 50
m 2e5
q 2e5
x,y,u,v,a,b [-1e8,1e8]
2s
1024mb
我的思路
两个方向
把m个的交算出来, 然后查询,
对m个偏移量算偏移量的凸包, 每个Q去找 最差的叠加?
因为一个凸包 沿着(ui,vi) 移动后的交
= 这个凸包与 (ui/2,vi/2), (ui,vi) 的交
因此无限划分
所以 等于平移过程中所有的交
所以对于m个平移量也可以求凸包
也就是原图形 与一个凸包内的向量集的偏移的叠加图怎么求
而实际上凸包从线性规划角度看,就是 边的数量个不等式, 而平移的话就是每边的沿着法线方向最大的偏移量
所以也是得到 n(50) 个 不等式, 不再去求交,而直接用不等式
最后每个q就暴力求就完了?
然后似乎m也不需要求凸包,直接枚举所有就行,因为内部的不会产生贡献