摘要: 首先将包含关系建树。 方法是将每个图形拆成上半边和下半边,从左往右扫描线,用Splay从下到上维护扫描线上所有图形。 每次加入一个新的图形$x$的时候,看看它下方第一个图形$y$,如果$y$是上半边,那么$x$的父亲就是$y$,否则是$y$的父亲。用同样的方法可以完成点定位。 然后每次相当于查询两点 阅读全文
posted @ 2016-08-21 22:53 Claris 阅读(497) 评论(1) 推荐(0)
摘要: 首先通过分数规划,二分答案$mid$,将每条边边权重置为$t-mid\times s$,用DP求出终点到该点的最短路,若非正则可以更小。 如此可以计算出每个出入口的最小危险值,然后把奇点放在$S$,偶点放在$T$,代价为危险值,对于每个空腔,在相应点之间连无穷边,求最小割即可。 阅读全文
posted @ 2016-08-21 03:21 Claris 阅读(338) 评论(0) 推荐(0)
摘要: A类数据: 将棋盘黑白染色,相邻的点之间连边,求出二分图最大匹配即可。 B类数据: 答案为$\lfloor\frac{n^2-1}{3}\rfloor$,用FFT加速计算即可,时间复杂度$O(L\log L)$。 C类数据: 轮廓线DP,对于轮廓线上每个格子,要么为空,要么被占据,要么被占据且还要向 阅读全文
posted @ 2016-08-21 01:48 Claris 阅读(465) 评论(0) 推荐(0)