本来想练一下树状数组的,看到网上某人的blog后点了进来。 第一眼发现不会,出去上了个厕所发现离散化后不是一道简单前缀和题吗。 考虑到每一个人出现且仅出现一次,且出现的时间是在一个连续的区间内。 那么对于一组询问(l,r),当这个人在时刻l前消失,或者再时刻l+r后出现,那么你才会看不到。 那么我们 ...
分类:
其他好文 时间:
2018-11-03 22:00:47
阅读次数:
190
"题目传送门" 题目大意:维护一个序列,维护区间加等差数列,单点查询的操作。 首先我们肯定是要用线段树来维护了,按照一般的思维局限,我选择了维护序列中的值,但是区间修改的时候由于公差的存在,所以区间修改有些难搞。后来又想分别维护$k$和$d$,但是最终失败了。 正解十分巧妙,维护的是一个差分序列。如 ...
分类:
其他好文 时间:
2018-11-03 21:58:55
阅读次数:
211
这道题在线不好做,但是可以离线...... 就是把所有的询问都读进来,按照r排序, 扫描原序列,并且记录这种颜色上一次出现的位置, 这样每次add(i,1) add(last[val[i]],-1) (last[val[i]]!=0) 如果是一个询问的左端点,就利用树状数组的前缀和进行统计 这道题不 ...
分类:
其他好文 时间:
2018-11-03 17:30:49
阅读次数:
160
单调队列 也不多说,网上找博客。 非常重要的数据结构(还有单调栈),一定要掌握!!! 可以优化 Dp,等其他作用。。。 example 1:求序列中一段连续的长度不超过 m 的子序列,使得和最大。 利用前缀和思想,a[i]-a[ll] 表示 ll~r 的区间和,a[i] 一定,要是和最大,则要使当前 ...
分类:
其他好文 时间:
2018-11-03 16:26:00
阅读次数:
164
转自:http://blog.sina.com.cn/s/blog_58649eb30100g4zo.html Python用下划线作为变量前缀和后缀指定特殊变量。 "单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;不能用“from xxx import *” ...
分类:
编程语言 时间:
2018-11-03 12:26:24
阅读次数:
139
给定长度为𝑛的序列𝑎,定义一次操作为:1. 定义序列𝑆(序列𝑎的前缀和)2. 将𝑆复制回𝑎。给定整数𝑘,求对𝑎进行𝑘次操作后每个元素的值。 很好的一道数学题,考场上没有想出来,连暴力都没有写对QAQ 首先来看暴力,直接去维护,有30 然后来看满分做法 首先,很明确的就是,我们可以算 ...
分类:
其他好文 时间:
2018-11-03 02:04:49
阅读次数:
169
[1] Manacher 求一个字符串中的最长回文子串。 讲解直接放ppt,复习能回忆起来就行。 1 #include <iostream> 2 #include <string> 3 #include <vector> 4 #include <algorithm> 5 using namespac ...
分类:
编程语言 时间:
2018-11-03 01:51:35
阅读次数:
148
树状数组 树状数组的基本用途是维护序列的前缀和,相比前缀和数组,树状数组优势在于高效率的单点修改,单点增加(前缀和数组单点修改效率比较低) 因为树状数组的思想,原理还是很好理解的,就直接讲基本算法; 1 lowbit函数 关于lowbit这个函数,可能会有点难以理解,~~但其实你不理解也没关系,把模 ...
分类:
编程语言 时间:
2018-11-02 23:54:46
阅读次数:
263
"题目传送门" 题目大意:给你一个$n$ $m$的矩阵,每个位置都有一个数,求有多少不同的子矩阵使得矩阵内所有数的和是$k$的倍数。 数据范围给的非常友好233,期望得到的暴力分:75分。前12个点可以用$O(n^4)$算法水过,对于$ include using namespace std; ty ...
分类:
其他好文 时间:
2018-11-02 21:36:23
阅读次数:
136
第一题水题未放,今天第二题又读入超时2000*2000的读入要快读啊,上次没长教训 第二题: 图论题.二维前缀和的应用. 最重要的: 这就是一棵树啊 标算为:对于不包含环的图,连通块数目=点数-边数,所以利用二维前缀和进行预处理,O(1)求出矩形区域内的边数和点数. #include<bits/st ...
分类:
其他好文 时间:
2018-11-02 19:02:39
阅读次数:
189