
数据结构 分块
文章平均质量分 80
yuhong_liu
这个作者很懒,什么都没留下…
展开
-
codeforces#326-D - Duff in Beach- dp+分块
http://codeforces.com/contest/588/problem/D 题意给你 n, l and k (1 ≤ n, k, n × k ≤ 1^6 and 1 ≤ l ≤ 10^18). 给你n个数的数组a 然后 b数组就是 长度为l 由a数组不断重复拼接得到的数组 要你 从中选择一段合法子序列,求合法子序列的总数 条件如下: 1.这个序列的长度大于等于1原创 2015-10-18 18:10:15 · 814 阅读 · 0 评论 -
CF#307-E. GukiZ and GukiZiana-分块法/平方分桶
题意: 给出n,m(n范围是【1,5e5】、m范围是【1,5e4】) 表示原来有n个数 现在有m次操作 val范围是【1,1e9】 操作1: 参数 L,R,val 表示区间【L,R】加上val 操作2: 参数val、表示在整个区间查找值val,找到相距最远的2个val,输出下标之差,找不到输出-1 思路: 对于操作1,可以用线段树解决,但是线段树不方便实现查询某原创 2015-10-07 15:59:55 · 451 阅读 · 0 评论 -
Yandex.Algorithm 2011 Round 2-D - Powerful array-莫队算法(分块算法)
http://codeforces.com/contest/86/problem/D 莫队算法就是处理这类能O1从区间【l,r】得到 【l-1,r】【l,r+1】,不带修改的区间查询的一类问题。 题目要求任意 subarray 的 cnt[a[i]]*cnt[a[i]]*a[i] 按照套路,把所有区间按 左端点 所在块作第一关键字,右端点第二关键字 排序 遍历,预处原创 2016-05-13 17:31:17 · 436 阅读 · 0 评论 -
cf#204-div1 -D - Jeff and Removing Periods-莫队算法-维护等差数列
http://codeforces.com/contest/351/problem/D 给你一个等差序列,每次查询一段区间【l,r】的答案。 显然这是典型的不带修改的区间询问类问题,我们可以考虑用莫队算法去解决。 接下来看怎么递推【l,r】到【l-1,r】,【l,r+1】的关系 首先对区间的询问是: 每次 任选ai,k,把ai删掉,如a【i+k】==a【i】则一直删原创 2016-05-14 11:55:36 · 559 阅读 · 0 评论