莫队算法
jinglinxiao
这个作者很懒,什么都没留下…
展开
-
Codeforces-617E-XOR and Favorite Number(莫队算法)
题目链接:Codeforces-617E-XOR and Favorite Number大神博客莫队算法用于处理区间无修改查询问题。其思想是通过离线组织询问的顺序来降低复杂度。基本思路是根据下标将长度为 nn 的区间分成 n√\sqrt{n} 块。 对于每个询问 [Li,Ri][L_i,R_i] 将其首先根据 LiL_i 所处于的块编号进行排序,其次对于 RiR_i 排序。 这样,当我们从询问原创 2017-04-03 21:37:49 · 412 阅读 · 0 评论 -
小z的袜子(莫队算法)
题目链接:小z的袜子#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=5e4+7;ll cnt[maxn],fz[maxn],fm[maxn],Ans;int L=1,R;int pos[maxn];int c[maxn];struct Query{ int l,r,原创 2017-04-03 22:08:17 · 351 阅读 · 0 评论 -
bzoj-3289-Mato的文件管理(莫队+树状数组)
题目链接:bzoj-3289-Mato的文件管理最大交换次数应该是区间的逆序对数,每次交换消除一个逆序对(不会证明)。 求逆序对可以用树状数组来实现。每次转移是 O(logn)O(logn) 的。 因此总复杂度是 O(n√logn)的O(\sqrt{n}logn)的 。#include<bits/stdc++.h>using namespace std;typedef long long l原创 2017-04-06 15:19:38 · 701 阅读 · 0 评论 -
HDU - 5381 - The sum of gcd(莫队算法)
HDU - 5381 - The sum of gcd 左端点相同的区间最多有 log(max(ai))log(max(a_i)) 个 gcdgcd ,且随着右端点的变大而变小。右端点相同的区间同理。 于是考虑 O(nlogn)O(nlogn) 预处理出来。 然后用莫队维护区间 gcdgcd 和就行了。#include<bits/stdc++.h>#define fi first#defi原创 2017-08-27 23:01:06 · 420 阅读 · 0 评论 -
2015-2016 Petrozavodsk Winter Training Camp, Moscow SU Trinity Contest
2015-2016 Petrozavodsk Winter Training Camp, Moscow SU Trinity Contest大佬题解E:这题是阅读题。。。首先找到LCA,把a和b每次向上提时,将其父亲的另一个儿子加入到集合中。把a和b都提到LCA后,把LCA往上提,做同样的操作。#include <bits/stdc++.h>using namespace s...原创 2019-07-09 19:31:03 · 966 阅读 · 0 评论