区间型动态规划的典型例题是石子归并,同时使用记忆化搜索实现区间动归是一种比较容易实现的方式,避免了循环数组实现的时候一些边界的判断 n堆石子排列成一条线,我们可以将相邻的两堆石子进行合并,合并之后需要消耗的代价为这两堆石子的质量之和,问最小的合并代价 状态转移方程很容易给出: 因为要计算区间和,考虑 ...
分类:
编程语言 时间:
2018-07-14 11:58:08
阅读次数:
205
题目链接: https://www.luogu.org/problemnew/show/P4092 瞎扯 $O(Q \log^3 N)$解法 这道先yy出了一个$O(Q \log^3 N)$,的做法,先树链剖分。 对于加标记操作,找到那个点所在的链,将其$top$标记一下,然后该点到根节点区间和+1 ...
分类:
其他好文 时间:
2018-07-06 23:22:53
阅读次数:
177
xiaoxi666 今日头条笔试题:“最小数字*区间和”的最大值【单调栈】 xiaoxi666 今日头条笔试题:“最小数字*区间和”的最大值【单调栈】 题目描述: 给定一段数组,求每个区间的最小值乘这段区间的和,输出每个区间得到的最大值。 样例输入:[1 2 6],可能有以下几种情况: [1]:结果 ...
分类:
其他好文 时间:
2018-06-23 20:49:35
阅读次数:
173
在差分数组上稍加改变,就可以实现这个骚操作 首先我们先来看一看普通的树状数组(基于差分)怎么暴力的求解区间和~~就是询问区间长度次和~~ $\sum^{i=1}_{len}\sum^{j=1}_{i}base[j]$ base为原数列 以上便是暴力求解,然后我们可以发现$base[i]$被加了$p ...
分类:
编程语言 时间:
2018-06-22 17:51:25
阅读次数:
178
题意: 一条一维数轴上,有n个左端点为xi,长度l的区间。以向右为正方向,第i个区间的移动速度为vi+w(vi=1或-1,|w|<=wmax,所有区间的w相同)。 输入n,l,wmax,vi。 输出无序数对(i,j)的个数,使第i个区间和第j个区间有一个合法的w的取值,在某一时刻同时覆盖原点(不包括 ...
分类:
其他好文 时间:
2018-06-19 00:11:05
阅读次数:
311
注:此博客写于 2017.8 ~ 2017.11 一个小清新OJ. 题意简短,超赞! 题目新颖,超赞! 解法巧妙,超赞! 标程简洁,超赞! <! more AtCoder Regular Contest 068 E Snuke Line 给定$n$个区间$[l,r]$和一个数$m$。对于$d=1,2 ...
分类:
其他好文 时间:
2018-06-09 15:28:03
阅读次数:
1138
其实就是线段树啦 什么是值域线段树 我们(初学者)都知道线段树是拿来维护数列区间的信息的。但是如果我们想要查询的重点在于数值而不是区间信息呢?这时候就要对于值域区间维护线段树了。 例题 bzoj4627: [BeiJing2016]回转寿司 题目大意 给定$n$个数和$L,R$,问其中区间和满足$L ...
分类:
其他好文 时间:
2018-06-07 21:46:30
阅读次数:
171
题目链接:http://codeforces.com/problemset/problem/332/B 题目大意:给你n个数和一个整数k,要求找到不相交的两个长度为k的区间,使得区间和最大,输出这两个区间的起点。解题思路:先计算前缀和,然后预处理出maxsum[i],maxsum[i]记录i~n最大 ...
分类:
其他好文 时间:
2018-06-04 11:25:10
阅读次数:
204
https://www.luogu.org/problemnew/show/P1471 线段树+展开方差公式+完全平方公式 我们把方差公式展开 所以只需要维护一个区间平方和和区间和 当我们更新一个区间加时 所以pushdown就很好写了 代码: ...
分类:
其他好文 时间:
2018-06-03 12:45:41
阅读次数:
214
线段树模版之——区间修改与求和 题目描述:给出数的个数n以及操作数q:对于q:1 x y z 令区间[x, y]增加z2 x y 求区间和 有很多代码使用结构体实现线段树,不过我不太习惯用结构体来实现,因为有时候看到一堆点很难受... ...
分类:
其他好文 时间:
2018-06-02 21:31:45
阅读次数:
130