
分治
文章平均质量分 78
空灰冰魂
=NULL
展开
-
【BZOJ2229】【ZJOI2011】最小割 {没有错,这道题的算法跟题帽是一样的!!!}
题解:分治求最小割。 【l……r】里任意找两个作为s、t(不妨把s设为l位置上的点,t设为r位置上的点)求最小割,两层for循环枚举修改map[i][j]即两点间最小割值。 然后一部分属于S集,一部分属于T集,分治【l,L】,【R,r】,每次求完最小割值都全局进行修改。 最后每次询问暴力做就好了,无需任何优化即可AC。 代码: #include #include原创 2015-01-08 14:59:08 · 1901 阅读 · 0 评论 -
【BZOJ3879】SvT 后缀树+虚树
SVT什么意思? suffix virtual tree。 没有错!后缀虚树 好了,下面发一段以前的文字。 话说其实后缀数组分治能写,当时想shei了。 Vn: 啊,水题。 一看到“后缀”和这数据范围,肯定后缀数组、后缀自动机、后缀树走起! 然后我们可以轻松构造出来一个后缀树,然后每次询问树形DP随便乱搞就能过了。但是这个时候显然会TLE,所以我们可以尝试利用【原创 2015-01-17 16:52:01 · 2846 阅读 · 7 评论 -
【BZOJ2458】【BeiJing2011】最小三角形 计算几何+分治
题解:很经典的分治计算几何模型。 我们对点的x坐标排序,然后进行分治,同时分治完了还需要求两边的互相影响。 一、在左边取两个点,右边一个。 二、在右边取两个点,左边一个。 这个时候我们可以对左右两边的点再分别按照y值排序, 当然,因为已经出来了一个比较优的ans,所以当一个点距离两边中界过远,那么我们就把它扔掉再不用管了。 还有就是两边的点,y坐标距离过大的也不能进行选原创 2015-01-20 07:53:11 · 2162 阅读 · 0 评论 -
【BZOJ1095】【ZJOI2007】Hide 捉迷藏 线段树维护括号序列 数据结构的压缩。
题解: 首先由于此题太神以至于我其实还不会这道题,所以不妨介绍一下括号序列维护树构。 其实都是假的,就是一个点被扫到入栈的时候,序列加一个左括号,然后加入一个字符(可以不加),点出栈的时候就加一个右括号。 然后两点间距离就是两点的在序列的位置中间那一堆括号里,删掉一些匹配的括号后的答案,比如 )(()()(()( ,最后就变成了 )(()(( ,表示左端点需要向上走一步,右端点需要向上走两步原创 2015-04-02 11:18:14 · 1714 阅读 · 0 评论