随笔分类 -  算法--分块

LOJ 2736 「JOISC 2016 Day 3」回转寿司 ——堆+分块思路
摘要:题目:https://loj.ac/problem/2736 如果每个询问都是 l = 1 , r = n ,那么每次输出序列的 n 个数与本次操作的数的最大值即可。可以用堆维护。 不同区间的询问,可以分块! 考虑如果 l = 1 , r = n ,怎么知道最后的序列每个位置是什么。 可以这样:把所 阅读全文

posted @ 2019-04-03 15:27 Narh 阅读(267) 评论(0) 推荐(0)

bzoj 3809 Gty的二逼妹子序列——莫队+分块
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3809 容易想到树状数组维护值域。但修改和查询都是 log 太慢。 考虑有 nsqrt(n) 个修改、m个查询,所以给查询 sqrt(n) ,给修改 O(1) 。对值域分块即可。(msqrt(n 阅读全文

posted @ 2018-10-05 21:21 Narh 阅读(107) 评论(0) 推荐(0)

bzoj 3781 小B的询问——分块
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3781 非常经典的分块套路。于是时间空间比大家的莫队差了好多…… 阅读全文

posted @ 2018-10-05 20:27 Narh 阅读(120) 评论(0) 推荐(0)

洛谷 4135 作诗——分块
摘要:题目:https://www.luogu.org/problemnew/show/P4135 和“历史研究”一样的定义。但因为只能开下一个nsqrt(n)的数组,所以答案记录成第 i 块到第 j 块的。 用数组记录每一块的开始位置和结束位置也许比较好。 不用sta记录要把哪些nm赋0,而是在使用nm 阅读全文

posted @ 2018-07-12 23:58 Narh 阅读(275) 评论(0) 推荐(0)

bzoj 4241 历史研究——分块(区间加权众数)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4241 套路:可以大力预处理,如果求区间加权众数,可以预处理i~j块(或 j 位置)的最大值,为了暴力再预处理i~j块每个数出现次数;这个i~j可以记录成从第i块开始的后缀,这样空间还是n*w。 阅读全文

posted @ 2018-07-12 11:33 Narh 阅读(188) 评论(0) 推荐(1)

导航