整体二分总结

1|0整体二分总结

整体二分,就是一种高效离线处理可二分答案的询问的方法,可以代替例如树套树这种高级数据结构。

1|0例题:

1.P1527 [国家集训队]矩阵乘法

题意:多次询问,求子矩阵第k小数。

思路:先考虑如果只有一个询问,可以二分答案,把矩阵中小于等于mid的数赋1,大于的赋0,那么如果子矩阵之和大于等于k,那么说明答案不小于mid,反之亦然,这样就可以继续递归下去。同样的,处理很多询问的时候,用二位树状数组维护子矩阵和,把当前子矩阵和大于等于k的询问传到左区间处理,剩下的传到右区间处理就可以了。

2.P3332 [ZJOI2013]K大数查询

题意:有n个可重集,有两种操作,一种是把x插入lr的所有可重集中,一种是查询lr的所有可重集里第k大的数。

思路:先考虑如果只有一个询问,可以二分答案,把所有x>mid的插入操作看成给[l,r]区间加1,查询看成求[l,r]的区间和,如果区间和大于等于k就说明答案在[mid+1,r]中。一般的情况也可以类似处理。

3.P3527 [POI2011]MET-Meteors

题意:有一个环,每个时刻会有一段区间加ai,每个点属于一个集合,对于每个集合,求这个集合包含的所有点的和第一次不小于limi的时刻。

思路:先考虑如果只有一个询问,可以二分答案,如果[1,mid]时刻操作玩答案大于limi,就说明答案在[1,mid]中,对于一般的情况也是如此。


__EOF__

本文作者Xttttr
本文链接https://www.cnblogs.com/Xttttr/p/17266771.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Xttttr  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示