题目链接:BCD Code 解析:n个病毒串。问给定区间上有多少个转换成BCD码后不包括病毒串的数。 很奇妙的题目。。经典的 AC自己主动机 + 数位DP 的题目。 首先使用AC自己主动机,得到bcd[i][j]表示状态i,加了数字j以后到达的状态。为-1表示不能转移 然后就是数位DP了 注意记录为 ...
分类:
其他好文 时间:
2017-05-26 13:15:40
阅读次数:
134
积木大赛 题目描述 春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi。 在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木)。接下来每次操作,小朋友们可以选择一段连续区间[l, r],然后将 ...
分类:
其他好文 时间:
2017-05-26 00:47:36
阅读次数:
270
区间更新也可以分割成若干个子区间, 每层的结点至多选取 2 个,时间复杂度 O(logn)。 懒惰(Lazy)标记 懒惰标记,也可称为延迟标记。一个区间可以转化为若干个结点,每个结点设一个标记,记录这个结点被进行了某种修改操作(这种修改操作会影响其子结点)。 也就是说,仅修改到这些结点,暂不修改其子 ...
分类:
其他好文 时间:
2017-05-26 00:39:45
阅读次数:
276
转自:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出 ...
分类:
其他好文 时间:
2017-05-25 23:38:29
阅读次数:
254
线段树,就是一棵由线段构成的二叉树,每个结点都代表一条线段 [a, b]。 非叶子的结点所对应的线段都有两个子结点,左儿子代表的线段为 [a,?(a+b)/2??],右儿子代表的线段为 [(a+b)/2+1,b]。 使用线段树这一数据结构,可以查找一个连续区间中节点的信息,也可以修改一个连续区间中结 ...
分类:
其他好文 时间:
2017-05-25 23:28:57
阅读次数:
249
在区间求和时,我们只需求出 [1, r],[1,l?1],利用前缀和的可减性,得到区间 [l,r] 的和。 但区间最值不满足这个性质。 我们可以把区间 [l,r] 拆分成若干个子区间,再合并得到答案。 画图可知,max_i需要的 max 只有 max_{i-2^0}, max_{i-2^1}, ma ...
分类:
编程语言 时间:
2017-05-25 23:27:26
阅读次数:
285
3196: Tyvj 1730 二逼平衡树 Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的 ...
分类:
其他好文 时间:
2017-05-25 20:48:56
阅读次数:
305
分治..... 之前就了解过这种分治统计答案的算法,对于当前的区间[l,r],我们考虑过中间的那条线的区间,这种题往往都存在单调性,我们发现min和max都是随位置单调的,我们枚举左端点x,然后维护两个指针p1,p2,表示[mid+1,p1/p2]这个区间的最值大于/小于[x,mid]的最值的最远的 ...
分类:
其他好文 时间:
2017-05-25 10:07:37
阅读次数:
151
http://www.lydsy.com/JudgeOnline/problem.php?id=2301 设f(i)为在区间[1, n]和区间[1, m]中,gcd(x, y) = i的个数。 设F(i)为在区间[1, n]和区间[1, m]中,gcd(x, y) % i == 0的个数,很简单的公 ...
分类:
其他好文 时间:
2017-05-25 01:15:20
阅读次数:
206