莫队算法分块大小玄学调参指南

总算弄懂了这个分块大小怎么算...

两个指针

复杂度 \(O(u*n+\frac{n^2}{u})\)

根据均值不等式, \(u*n+\frac{n^2}{u}\) 在 \(u*n=\frac{n^2}{u}\) 时取最小值

即 \(u=\sqrt{n}\)

三个指针(带修)

复杂度 \(O(u*n+\frac{n^2}{u}+\frac{n^3}{u^2})\)

显然, \(\frac{n^2}{u}<\frac{n^3}{u^2}\) (作商法)

根据均值不等式, \(u*n+\frac{n^3}{u^2}\) 在 \(u*n=\frac{n^3}{u^2}\) 时取最小值

即 \(u=n^{\frac{2}{3}}\)

四个指针(多参数)

复杂度 \(O(u*n+\frac{n^2}{u}+\frac{n^3}{u^2}+\frac{n^4}{u^3})\)

根据均值不等式, \(u*n+\frac{n^4}{u^3}\) 在 \(u*n=\frac{n^4}{u^3}\) 时取最小值

即 \(u=n^{\frac{3}{4}}\)

原文地址:https://www.cnblogs.com/cgazn/p/10327617.html

时间: 2024-10-21 13:46:58

莫队算法分块大小玄学调参指南的相关文章

XOR and Favorite Number(莫队算法+分块)

E. XOR and Favorite Number time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Bob has a favorite number k and ai of length n. Now he asks you to answer m queries. Each query is given by a pai

BZOJ 3585 mex 莫队算法+分块

题目大意:给定一个长度为n的数组,m次询问某个区间内的mex值 怒写莫队233 将权值分成√n块,记录每个权值的出现次数以及每块内有多少权值出现过 修改O(1)即可完成 查询时首先扫一遍找到第一个块内有没有覆盖的点的块 然后在块内暴力查找 时间复杂度O(√n) 套个莫队 总时间复杂度O(m√n) #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include

【BZOJ】2038: [2009国家集训队]小Z的袜子(hose)(组合计数+概率+莫队算法+分块)

http://www.lydsy.com/JudgeOnline/problem.php?id=2038 学了下莫队,挺神的orz 首先如果推公式的话很简单吧.对于查询$[l,r]$ $$ans=\frac{\sum \binom{x_i}{2}}{\binom{r-l+1}{2}}$$ //晚修...回来补.. #include <cstdio> #include <cstring> #include <cmath> #include <string> #

【莫队算法】【权值分块】bzoj3920 Yuuna的礼物

[算法一] 暴力. 可以通过第0.1号测试点. 预计得分:20分. [算法二] 经典问题:区间众数,数据范围也不是很大,因此我们可以: ①分块,离散化,预处理出: <1>前i块中x出现的次数(差分): <2>第i块到第j块中的众数是谁,出现了多少次. 询问的时候,对于整块的部分直接获得答案:对于零散的部分,暴力统计每个数出现 的次数,加上差分的结果,尝试更新ans. 时间复杂度O(m*sqrt(n)), 空间复杂度O(n*sqrt(n)). ②考虑离线,莫队算法,转移的时候使用数据

【BZOJ】3052: [wc2013]糖果公园 树分块+待修改莫队算法

[题目]#58. [WC2013]糖果公园 [题意]给定n个点的树,m种糖果,每个点有糖果ci.给定n个数wi和m个数vi,第i颗糖果第j次品尝的价值是v(i)*w(j).q次询问一条链上每个点价值的和或修改一个点的糖果ci.n,m,q<=10^5. [算法]树分块+带修改莫队算法 [题解]参考:WC 2013 糖果公园 park 题解 by vfleaking 首先树分块,参考王室联邦的方法.确定块大小为B,一遍DFS可以分成若干大小为[B,3B]的块,性质是块内两点距离至多为B. 定义(x,

【莫队算法】【权值分块】poj2104 K-th Number / poj2761 Feed the dogs

先用莫队算法保证在询问之间转移的复杂度,每次转移都需要进行O(sqrt(m))次插入和删除,权值分块的插入/删除是O(1)的. 然后询问的时候用权值分块查询区间k小值,每次是O(sqrt(n))的. 所以总共的复杂度是O(m*(sqrt(n)+sqrt(m)))的. 常数极小. 别的按权值维护的数据结构无法做到O(1)地插入删除. poj2104 的输出优化 别忘了处理负数. 完爆主席树,这份代码目前在 poj2761 上 Rank1. Rank Run ID User Memory Time

【BZOJ-3809】Gty的二逼妹子序列 分块 + 莫队算法

3809: Gty的二逼妹子序列 Time Limit: 80 Sec  Memory Limit: 28 MBSubmit: 1072  Solved: 292[Submit][Status][Discuss] Description Autumn和Bakser又在研究Gty的妹子序列了!但他们遇到了一个难题. 对于一段妹子们,他们想让你帮忙求出这之内美丽度∈[a,b]的妹子的美丽度的种类数. 为了方便,我们规定妹子们的美丽度全都在[1,n]中. 给定一个长度为n(1<=n<=100000)

莫队算法(离线区间查询问题)(莫队,分块)

莫队算法总结 前言: 又是和主席树一样,OI神犇们发明的算法. 刚听到算法的名字的时候就猜到莫队是一个大神犇了.没想到后来知道他竟然是我们的学长!未见其人,先闻其名啊! 直到后来CJ被定为PKUWC举办地,为了提供一个更好的环境,CJ翻新了一下机房,并且挂上了荣誉墙.于是我就能一睹NOI虐场的学长的真容了. 小学弟在学长的光环下其实是挺自豪的呢! 性质和原理 更新中...... 原文地址:https://www.cnblogs.com/flashhu/p/8410600.html

【BZOJ-3052】糖果公园 树上带修莫队算法

3052: [wc2013]糖果公园 Time Limit: 200 Sec  Memory Limit: 512 MBSubmit: 883  Solved: 419[Submit][Status][Discuss] Description Input Output Sample Input Sample Output 84 131 27 84 HINT Source Solution 树上带修莫队 本质还是树上莫队,详情可以转 BZOJ-3757苹果树 但是这里需要修改,就需要一些特殊的地方