![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
块状数据结构
文章平均质量分 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 · 807 阅读 · 1 评论 -
[POJ 2104] K-th Number (块状数组)
POJ - 2104 给定一个长度为 N的互不相同的序列和 M个询问 每次询问给出一个区间,问区间内第 K大的数是多少分块做法: 将区间分块,每块大小 sqrt(n),分块内排序 每次查询一个第 K大,先二分确定这个数是多少 然后在区间内统计小于他的数有多少个,如果 cnt>=K,则缩小这个数 (log(n)) 统计方式是,每次查询的一个区间 如果完全包含了一个分块,则在分块内二分搜索原创 2016-04-21 11:51:10 · 450 阅读 · 0 评论 -
[Codeforces 13E] Holes (分块)
Codeforces - 13E 有 NN 个洞排成一列,每个洞有一个能量值 aia_i 将一个球丢进第 ii 个洞内,它将跳跃到 i+aii+a_i 个洞 这样一直跳跃直到跳出 NN 的范围 现在有两种操作,往第 ii 个洞内丢球,将第 ii 个洞的能量值修改为 bb 每次丢球,输出这个球最后进入的洞的编号以及跳跃次数刚开始想了一万种思路,发现都没法维护这个修改 后原创 2016-08-22 13:13:19 · 468 阅读 · 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 · 809 阅读 · 0 评论