摘要: 二分点所在区域,叉积判断左右 cpp include include include include include using namespace std; const int N=1005; int T,n,m,x1,y1,x2,y2,ans[N],cnt[N]; struct dian { d 阅读全文
posted @ 2018-03-04 22:02 lokiii 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 其实并不算标准半平面交?但是思路差不多 先按照斜率排序,然后用栈维护凸壳,每遇到重斜率或a[i],s[top 1]交点的x轴在s[top],s[top 1]交点左侧,则说明s[top]被a[i],s[top 1]覆盖,弹栈即可; cpp include include include using n 阅读全文
posted @ 2018-03-04 21:58 lokiii 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 其实挺简单的但是没想出来………… 首先判断无解情况,即,一开始的图就不是仙人掌,使用tarjan判断如果一个点dfs下去有超过一个点比他早,则说明存在非简单环。 然后考虑dp,显然原图中已经属于某个简单环的边就是没用的,tarjan缩点之后删掉两个端点在一个强连通分量中的边。(无向图的tarjan要 阅读全文
posted @ 2018-03-04 20:26 lokiii 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.cnblogs.com/ljh2000 jump/p/6686960.html 由于操作反过来了,所以~~显然~~树状数组维护后缀和,所以本来想查询(1,r) (1,l 1),现在变成了(r,n) (l 1,n); 然后在mod 2意义下进行,每次又是+1,就相当于是异 阅读全文
posted @ 2018-03-04 20:16 lokiii 阅读(129) 评论(0) 推荐(0) 编辑