
莫队
C202044zxy
这个作者很懒,什么都没留下…
展开
-
[HNOI2016]大数
一、题目点此看题二、解法首先考虑一个子串s[l..r]s[l..r]s[l..r]能被ppp整除的条件,设a[i]a[i]a[i]为s[i..n]s[i..n]s[i..n]的数模ppp后的值,有:(a[l]−a[r+1])÷10n−r=0mod p(a[l]-a[r+1])\div10^{n-r}=0\mod p(a[l]−a[r+1])÷10n−r=0modp分类讨论,当gcd(p...原创 2020-03-11 15:08:18 · 192 阅读 · 0 评论 -
[CF620F]Xors on Segments
一、题目点此看题二、解法0x01 暴力dp观察数据范围发现,本题允许O(n2)O(n^2)O(n2)的算法,考虑dpdpdp。我们做nnn次dpdpdp,每次固定左端点,移动右端点并记录,每次更新左端点。最后更新包含其的询问,详见代码。#include <cstdio>#include <iostream>using namespace std;const ...原创 2020-01-24 11:31:47 · 359 阅读 · 0 评论 -
历史研究
一、题目点此看题二、解法很容易想到普通莫队的解法,为了求最大值,我们需要在跑莫队时维护一个堆,时间复杂度O(nnlogn)O(n\sqrt n\log n)O(nnlogn)考虑优化,发现我们只能 O(1)O(1)O(1) 处理加入的情况,删除就不能 O(1)O(1)O(1),那我们能不能只加入不删除呢?答案是可以的,我们分n+1\sqrt n+1n+1块来处理,每个块大小为n+1\...原创 2020-01-04 16:30:03 · 136 阅读 · 0 评论 -
[HNOI2016]序列
一、题目点此看题题意给你一个序列,每次询问一个区间,求其所有子区间的最小值之和数据范围1<=N,Q<=100000,∣Ai∣<=1091<=N,Q <=100000,|Ai| <= 10^91<=N,Q<=100000,∣Ai∣<=109二、解法0x01 暴力先打暴力,复杂度O(Q...原创 2019-08-13 14:13:56 · 148 阅读 · 0 评论 -
数列互质 莫队+链表
数列互质一、题目及数据范围题目描述给出一个长度为n的序列,以及m组询问,求区间[li,ri]中有多少数在该区间中的出现次数与ki互质数据范围0<=n,m<=50000,0<=a[i]<=50000,0<=l,r,k<=50000二、思考及解法这道题很容易看出是莫队,我们考虑对每一个不同的k快速求出答案,由于a[i]的取值在[1,n],我们可以建一个...原创 2019-07-20 16:24:34 · 328 阅读 · 0 评论