摘要: 建立新图,原图中每条边在新图中是点,新图中每个点的点权为$-e[i].c+e[i].b$,边权为$0$。 若$e[i].d\leq e[j].a$,则连一条$i$到$j$的单向边。 对于原图中每个点,将所有入边和出边分别排序,然后建立一排虚点表示后缀,通过双指针将边数优化至$O(m)$。 在新图中求 阅读全文
posted @ 2017-01-30 16:55 Claris 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 将袋鼠大小和口袋大小分别从小到大排序。 枚举从左往右第一只没有被放入任何口袋的袋鼠$x$,那么$x$之前的所有袋鼠、以及$x$能装入的所有口袋都应该在匹配边上。 按这只袋鼠将上下两个序列分为两部分,设$f[i]$表示左边内部有$i$条匹配边的方案数,$g[i]$表示右边内部有$i$条匹配边的方案数。 阅读全文
posted @ 2017-01-30 00:58 Claris 阅读(501) 评论(0) 推荐(0) 编辑