莫队
文章平均质量分 80
里阿奴摩西
这个作者很懒,什么都没留下…
展开
-
[带修莫队 权值分块] BZOJ 3196 Tyvj 1730 二逼平衡树
这题有很多算法,我已知:分块+二分:O(n*sqrt(n*log(n))函数式权值分块:O(n*sqrt(n))带修莫队+权值分块:O(n5/3)树套树 我打的莫队+分块,跑的死慢#include#include#include#include#includeusing namespace std;inline char nc(){原创 2016-03-20 19:51:54 · 1224 阅读 · 0 评论 -
[树上莫队] BZOJ 3757 3052 4129
传送门http://blog.csdn.net/kuribohG/article/details/41458639http://vfleaking.blog.163.com/blog/static/174807634201311011201627/“用S(v, u)代表 v到u的路径上的结点的集合。用root来代表根结点,用lca(v, u)原创 2016-02-16 16:09:54 · 1202 阅读 · 0 评论 -
[莫队算法 线段树 斐波那契 暴力] Codeforces 633H Fibonacci-ish II
题目大意:给出一个长度为n的数列a。对于一个询问lj和rj,将a[lj]到a[rj]从小到大排序后并去重,设得到的新数列为b,长度为k,求F1*b1+F2*b2+F3*b3+...+Fk*bk,其中F为斐波那契数列,F1=F2=1。对每个询问输出答案模m。区间查询离线 用莫队算法开棵权值线段树,然后用斐波那契的性质updateF(n+m)=F(n+1)*F(m)+F(n)*F(原创 2016-04-05 19:38:01 · 1705 阅读 · 0 评论 -
[莫队 单调栈] BZOJ 4540 [Hnoi2016]序列
题解:http://www.cnblogs.com/Ngshily/p/5409337.html给出一个序列,求某段区间的位置不同子串的最小值之和对于前4040,我们可以n2n2预处然后O(nn√)O(nn)预处理中zzz[i][j]zzz[i][j]表示以ii开头,结尾最长到jj的前缀子串的最小值之和同理fff[i][j]fff[i][j]表示倒过来的情况原创 2016-04-20 16:23:09 · 935 阅读 · 0 评论 -
[莫队] BZOJ 4542 [Hnoi2016]大数
题解:http://www.cnblogs.com/Ngshily/p/5409409.html如何判断一个炒鸡大的数nn能不能被另一个数PP整除,,,我们有如下结论若xmodP=axmodP=a,且(n∗10k+x)modP=a(n∗10k+x)modP=a,kk为xx的长度,gcd(P,10k)=1gcd(P,10k)=1那么nmodP=0nmodP=0胡乱证明分割原创 2016-04-20 16:21:10 · 472 阅读 · 0 评论 -
[莫队 bitset] BZOJ 4810 [Ynoi2017]由乃的玉米田
本来还以为有什么高超的卷积技巧 就是莫队 + - 直接位移然后&下 至于乘 枚举所有因数吧#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<bitset>using namespace std;inline char nc(){ static char buf[100000],原创 2017-05-05 08:27:08 · 366 阅读 · 0 评论 -
[树上莫队] BZOJ 3460 Jc的宿舍
只要发现这个强制在线是假的就可以离线莫队了#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>using namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; retu原创 2017-04-24 20:56:58 · 905 阅读 · 0 评论 -
[莫队 分块] BZOJ 4866 [Ynoi2017]由乃的商场之旅
这个 只会莫队乱搞 自己YY下 复杂度O(n26∗n−−−−−√)O(n\sqrt{26*n}) 成功贴时限过加时间垫底#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>using namespace std;typedef long long ll;inline char nc(){ static原创 2017-04-24 20:58:41 · 964 阅读 · 0 评论 -
[反演 莫队算法] HDU 4676 Sum Of Gcd
考虑对一堆数求一个gcd 我们记录每一个约数xx的出现次数num[x]num[x] 那么两两间gcd的和是什么呢 ∑x∗C2num[x]\sum x*C_{num[x]}^2 肯定不是 这样会有重复 猜想f(x)f(x)是关于x的函数 ∑f(x)∗C2num[x]\sum f(x)*C_{num[x]}^2 那么应该满足 ∑d|xf(d)=x\sum_{d|x} f(d)=x 因为原创 2017-02-01 22:39:26 · 432 阅读 · 0 评论