
块状数据结构
文章平均质量分 69
mis_deer
Make_myself.
展开
-
[Uva 11990] "Dynamic" Inversion (二维分块)
Uva - 11990 动态逆序对,求删除一个点之前序列中逆序对的个数 首先倒过来看这个问题,把点先全部删掉 然后从最后一个点开始倒着往数列中加点 求加完这个点逆序对的变化分块做法,把下标看成 x,值看成 y 这样就变成了平面上的点, 将平面分成 bsiz∗bsizbsiz*bsiz,bsiz=N‾‾√bsiz=\sqrt{N} 加入一个点的时候,在它左上方区域的和右下方区域中的点的数原创 2016-05-24 16:02:43 · 894 阅读 · 1 评论 -
[POJ 2104] K-th Number (块状数组)
POJ - 2104 给定一个长度为 N的互不相同的序列和 M个询问 每次询问给出一个区间,问区间内第 K大的数是多少分块做法: 将区间分块,每块大小 sqrt(n),分块内排序 每次查询一个第 K大,先二分确定这个数是多少 然后在区间内统计小于他的数有多少个,如果 cnt>=K,则缩小这个数 (log(n)) 统计方式是,每次查询的一个区间 如果完全包含了一个分块,则在分块内二分搜索原创 2016-04-21 11:51:10 · 475 阅读 · 0 评论 -
[Codeforces 13E] Holes (分块)
Codeforces - 13E 有 NN 个洞排成一列,每个洞有一个能量值 aia_i 将一个球丢进第 ii 个洞内,它将跳跃到 i+aii+a_i 个洞 这样一直跳跃直到跳出 NN 的范围 现在有两种操作,往第 ii 个洞内丢球,将第 ii 个洞的能量值修改为 bb 每次丢球,输出这个球最后进入的洞的编号以及跳跃次数 刚开始想了一万种思路,发现都没法维护这个修改 后原创 2016-08-22 13:13:19 · 528 阅读 · 0 评论 -
[Codeforces 455D] Serega and Fun (分块)
Codeforces - 455D 给定一个长度为 NN 的序列,QQ 个询问 每次询问一个区间,有两种操作 一是将区间内的数向右循环移位 二是询问区间内有多少个数等于 kk 其中 N,Q≤105,ai≤NN,Q \le 10^5, a_i\le N 强制在线 据说正解是一个分块,每操作一定次数之后暴力重构一下 保证每块大小尽量接近我的做法也是一个分块,每块用一个原创 2017-01-20 19:34:37 · 841 阅读 · 0 评论