整体二分
L_0_Forever_LF
一个热爱OI的OIer
展开
-
BZOJ4009: [HNOI2015]接水果 解题报告
题目问两点间的路径上子路径权的第k小,一开始给出能做子路径的路径p[]和其权值有一篇介绍的很详细的题解 http://www.cnblogs.com/mjy0724/p/4447813.html看了思路知道怎么做会打的下面我写的东西都可以不看了窝讲一下个人具体的做法(不会具体怎么做的可以看下)这道题整体二分就是二分一个路径的权值,将当前考虑的矩阵按是否在二分的范围内分类拿出来,像归并排序那样把这个原创 2016-10-15 10:48:02 · 1048 阅读 · 0 评论 -
BZOJ3110: [Zjoi2013]K大数查询
这道题和某题类似:http://blog.csdn.net/l_0_forever_lf/article/details/52839787整体二分,每次二分一个值,因为是求第k大,比二分值大的在[l,r][l,r]区间+1,询问就问这个区间的数,如果数量大于k,说明实际答案大于二分值,下放右区间,否则下放左区间,k减去询问的值(因为后面不会再考虑mid~r的值),把区间加操作也按照权值两边下放,每次原创 2016-10-17 20:50:10 · 775 阅读 · 0 评论 -
BZOJ1901: Zju2112 Dynamic Rankings
发现还是不怎么会整体二分,学一道模版 将初始的序列的视为将第i个位置改为a[i]的操作,和所有操作放在一起 二分一个值,将所有操作里值不大于二分值的在树状数组里的位置+1,下放到右边,大于的下放到左边,对于询问,如果区间里的数≥k,将这个操作下放到左区间,否则下放到右区间,将k减去询问的值(因为这些左区间的操作以后不会再考虑),然后在树状数组里撤销之前的操作,向下二分code:#include<原创 2016-10-17 16:37:54 · 912 阅读 · 0 评论