![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分块
pubgoso
这个作者很懒,什么都没留下…
展开
-
hdu6756 Finding a MEX(分块)
题目链接 把度数大于等于n\sqrt nn的点归为超级点 对每个超级点x维护一个长度为d_x的数组,每个位置y,当前仅当跟x相连的z中有a_z=y时,y=1,否则为0。 修改的时候只修改跟当前点连接的超级点的信息。 查询的时候,对不是超级点的询问直接暴力跑,是超级点的就在bit上二分找答案。 #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N = 2e5 + 10; #define fi原创 2020-07-21 19:46:44 · 1676 阅读 · 0 评论 -
2019 acm-icpc银川站F.Function!(数学分块)
给你一个式子∑a=2n(a∑b=an⌊fa−1(b)⌋⌈fb−1(a)⌉)\sum_{a=2}^n{\left( a \sum_{b=a}^n{\lfloor f_{a}^{-1}\left( b \right) \rfloor}\lceil f_{b}^{-1}\left( a \right) \rceil \right)}∑a=2n(a∑b=an⌊fa−1(b)⌋⌈fb−1(a)⌉)让...原创 2019-10-31 12:36:36 · 1352 阅读 · 9 评论 -
CF797 E. Array Queries
题目链接 题意:给以 一个数组,给你一些询问,每次询问给出p,kp,kp,k,可以执行一些操作,每次操作会使得 p−>p+ap+kp->p+a_p+kp−>p+ap+k,直到p大于n,问最大操作数。 思路:我们知道因为每次都会加至少k次,(假设数组全为0),然后我们根据k的大小分块计算 先把k≤nk\leq \sqrt{n}k≤n的部分dp计算出来,然后询问到的时候直接O(1...原创 2019-09-26 18:39:44 · 134 阅读 · 0 评论