随笔分类 -  (分块)

摘要:题目链接:https://pintia.cn/problem-sets/1108203702759940096/problems/1108204121661857798 题目大意: 森森开了一家快递公司,叫森森快递。因为公司刚刚开张,所以业务路线很简单,可以认为是一条直线上的N个城市,这些城市从左到 阅读全文
posted @ 2019-03-21 17:26 Let_Life_Stop 阅读(793) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://loj.ac/problem/6285 题目大意:中文题目 论文链接: https://wenku.baidu.com/view/99bf0fc78662caaedd3383c4bb4cf7ec4afeb628.html 具体思路:dp[i][j]表示第i块到第j块的的众数 阅读全文
posted @ 2019-03-05 18:21 Let_Life_Stop 阅读(296) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://loj.ac/problem/6284 题目大意:中文题目 具体思路:还是和sqrt那个题的思路相同的,标记每一块的值是不是相同的,注意lazy下标的下放。 AC代码: 阅读全文
posted @ 2019-03-04 21:06 Let_Life_Stop 阅读(236) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://loj.ac/problem/6283 题目大意:中文题目 具体思路:和线段树的思路相同,注意lazy的下放,对于不完整的区间,我们需要先更新数组a的值,然后再对数组a进行操作。对于完整的操作,我们要注意优先级,如果原来是a*b+c的话,我们要对这个区间乘以e的话,就表示成 阅读全文
posted @ 2019-03-04 18:37 Let_Life_Stop 阅读(390) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://loj.ac/problem/6282 题目大意:中文题目 具体思路:用vector存,每一次查询的时候,从头开始,逐段逐段的减,更新的时候,也是从头开始。插入:q.insert(q.begin()+(长度-1),val),如果一个段里面存的值过多的话,可以考虑重新建图。 阅读全文
posted @ 2019-03-04 17:04 Let_Life_Stop 阅读(220) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://loj.ac/problem/6281 题目大意:中文题目 具体思路:具体的优化就是判断当期你的区间如果为1或者0的话,再开根就没有变化了,这样就不需要开根了,判断每一个块是否需要开根。 AC代码: 阅读全文
posted @ 2019-03-04 14:51 Let_Life_Stop 阅读(351) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://loj.ac/problem/6280 题目大意:中文题目 具体思路:模板题,注意add数组在求和的时候的加的位置,在每一段都需要考虑到。 AC代码: 阅读全文
posted @ 2019-03-03 21:03 Let_Life_Stop 阅读(276) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://loj.ac/problem/6279 题目大意:中文题目 具体思路:按照上一个题的模板改就行了,但是注意在整块查找的时候的下标问题。 AC代码: 阅读全文
posted @ 2019-03-03 15:42 Let_Life_Stop 阅读(237) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://loj.ac/problem/6278 题目大意:中文题目 具体思路:数列分块模板题,对于更新的时候,我们通过一个辅助数组来进行,对于原始的数组,我们只是用来加减,然后这个辅助数组的作用就是对每一块进行排序,当查询的时候,如果不是整块的,我们直接通过a数组来记录,对于整块的 阅读全文
posted @ 2019-03-03 11:25 Let_Life_Stop 阅读(324) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://cn.vjudge.net/problem/POJ-3468 题目大意:区间加减+区间查询操作。 具体思路:本来是一个线段树裸题,为了学习分块就按照分块的方法做吧。 分块真的好暴力,,,(但是还是挺优美的)。 说一下各个数组的作用。 a数组,代表每一个点的值。 sum数组, 阅读全文
posted @ 2019-03-01 20:18 Let_Life_Stop 阅读(275) 评论(0) 推荐(0) 编辑