OJ地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1996 设dp(i,j,k)代表在理想结果中[i,j]段最后添加的是i或j(k=0or1) 要注意的一点是程序会计算两次i=j时的情况 要特殊判断 数据不大 我写的是记忆化搜索 改成递推会更快 ...
分类:
其他好文 时间:
2016-07-24 22:40:34
阅读次数:
336
偏移二分查找 系列: 活着,就一直在忙碌,从未有停歇。 今天主要分享一下偏移二分查找算法,至于常用的顺序查找、二分查找、哈希查找、堆查找等,这里就不多说了。 思路:如果数据项规则变化,可先偏移到一个较小区间再用二分查找。 场景:股票的行情日期,末尾数字规则的整数序列等。 举一个例子,如个位数不为3、 ...
分类:
其他好文 时间:
2016-07-24 22:37:58
阅读次数:
267
函数凹凸性检验: 很容易看到,观察类似抛物线这类曲线,能够看到它们有一个向上凹或者向下凹的这样一个过程,而我们将这个过程细化并观察一系列点的导数的变化情况我们给出如下的定义: (1)如果函数图像在区间I上向上凹,则f’(x)在区间I上递增。 (2)如果函数图像在区间I上向下凹,则f’(x)在区间I上 ...
分类:
其他好文 时间:
2016-07-24 20:53:20
阅读次数:
502
bzoj3223Tyvj 1729 文艺平衡树 题意: 一个数列,支持区间翻转操作。 题解: splay裸题。注意涉及到区间操作的一般用splay不用treap。 代码: 20160418 ...
分类:
其他好文 时间:
2016-07-24 20:44:53
阅读次数:
158
题意:给定 n, t, c 和 n 个数,问你在这 n 个数中有多少连续的 c 个数,并且这个 c 个数不大于 t。 析:很简单么,是滑动窗口,从第一个开始遍历,如果找到 c 个数,那么让区间前端点加1,如果找不到,那么就区间前端等于后区间+1. 代码如下: ...
分类:
其他好文 时间:
2016-07-24 14:57:53
阅读次数:
136
简单的数位dp题,题意是求区间内的一种数的个数,这种数的本身和各个位置上的数之和能除尽给定的k(k <= 10000)。 dp[20][10000][100]也是可以过的,但是因为各位置上的数之和不会超过100。所以k>=100的情况其实可以直接返回0。 所以dp[20][110][110]足够了( ...
分类:
其他好文 时间:
2016-07-24 11:56:59
阅读次数:
95
初探数位dp 介绍了数位类统计的基础知识。以下列出其中的基础点: 基本问题 统计在区间[l, r]中满足条件的数的个数 思路 1. [l, r] 将问题转换为 在[0, r]中满足条件的个数 - 在[0, l)满足条件的个数 2. 求解 区间[0, n]满足条件的个数 性质:一个小于n的数m,一定是 ...
分类:
其他好文 时间:
2016-07-24 01:42:04
阅读次数:
291
bzoj4631踩气球 题意: 有一个序列和一个区间集合,每次将序列中的一个数-1,求此时集合里有多少个区间和为0。序列大小≤100000,区间数≤100000,操作数≤100000。 题解: 此题解法其实并不难,对序列建线段树,用线段树每个节点维护区间和及覆盖该区间的集合内的区间的链表,同时记录每 ...
分类:
其他好文 时间:
2016-07-23 22:58:36
阅读次数:
243