序列长$n$,询问$Q$。 离线 莫队呀,由于众数不好删除,直接回滚莫队即可,时间复杂度$o(n \sqrt n)$,空间$o(n) $。 在线 分块啊。 设块大小为T。 first 其实可以沿用回滚莫队思想,记录$[l,r]$块里的数的$cnt$,时间复杂度$\displaystyle o({n^ ...
分类:
其他好文 时间:
2019-05-13 14:42:34
阅读次数:
255
Problem Statement There is an integer sequence A of length N. Find the number of the pairs of integers l and r (1≤l≤r≤N) that satisfy the following co ...
分类:
其他好文 时间:
2019-05-10 13:15:41
阅读次数:
121
首先要知道C(n,m)=C(n-1,m)+C(n-1,m-1),这样显然是一个杨辉三角,这样大部分的问题就解决了, 那么判能否整除只需要杨辉三角对k取模即可, 而对于多组数据的k都是一样的,所以用前缀和优化:上+左-左上+自己 ...
分类:
其他好文 时间:
2019-05-09 19:45:58
阅读次数:
124
树状数组是用来维护序列前缀和的数据结构。它的修改与求和都是O(logn)的,效率非常高。 我们设序列为A,则树状数组c中,c[i]记录序列A的区间[ i-lowbit(i)+1 , i ]中所有数的和。 (树状数组是个好东西ovo) 树状数组在进行区间操作时,要从上到下访问,进行单点操作时,要从下到 ...
分类:
编程语言 时间:
2019-05-08 00:28:53
阅读次数:
207
树状数组,顾名思义就是把一棵树型的数据存在数组中(运用在前缀和中)。 我们通过下面这图(图是百度百科找的)来理解它的原理和一些操作。(图中C是数组数组,A是1~n的数值) 我们先看上面的那棵树,是不是看起来怪怪的,其实它就是个二叉树变形来的(不信你可以手动将它还原成我们平常树结构)。 接下来我们把树 ...
分类:
编程语言 时间:
2019-05-07 20:00:52
阅读次数:
177
/* 每个异或前缀和sum[i]只有两个值 区间异或和不为0,即两个不相等的前缀和 sum[i]的两个前缀和只要标记一个就可以了,为了去重只用map保存最小的那个来计数 最后统计相同的前缀和时,为了使相同的最小,每个map的值要平分 */ #include using namespace std; ... ...
分类:
其他好文 时间:
2019-05-07 19:50:09
阅读次数:
135
大意: 给定n*m初始字符矩阵, 有k个新矩阵, 第$i$个矩阵是由初始矩阵区间赋值得到的, 求选择一个新矩阵, 使得其余新矩阵到它距离和最小. 字符集比较小, 可以考虑每次区间覆盖对每个字符的贡献. 区间覆盖转化为差分, 然后前缀和优化. 刚开始辅助数组开多了, 卡内存卡了好久. 看别人代码似乎可 ...
分类:
其他好文 时间:
2019-05-07 13:01:52
阅读次数:
115
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4108 题意:求第l个斐波那契数到第r个斐波那契数的和,判断这个和奇偶性,若为奇输出1,偶输出0 题解:很明显要利用前缀和,通过打表可以发现斐波那契前缀和的奇偶性为 奇 ...
分类:
其他好文 时间:
2019-05-04 12:15:06
阅读次数:
156
1150 C 题意 给你一个由 $1,2$ 组成的数组,要你重新排列这个数组,使得它的所有是质数的前缀和最长。 $(1\le n\le 200000)$ Examples input 5 1 2 1 2 1 output 1 1 1 2 2 input 9 1 1 2 1 1 1 2 1 1 out ...
分类:
其他好文 时间:
2019-05-04 10:02:20
阅读次数:
107