"传送门" 题意:求一个最长的序列,满足序列严格单调递增,任意相邻两个数非互质且所有的数都来自长度为n且单调递增的序列a三个条件. 分析:既然原序列本身满足单调递增,所以对于这个条件我们可以不管.所有的数都来自a序列,额,这个条件更没必要管.所以我们从序列相邻两个数非互质入手. 设f[i]表示以a[ ...
分类:
其他好文 时间:
2019-02-13 20:59:41
阅读次数:
175
题面 "传送门" 分析 答案很好看出,显然是选最大的m k个数 那么如何构造方案呢 我们把最大的m k个数的位置标记为1,其他标记为0 从左到右维护一个ptr,记录有标记的数的个数,如果当前有m个有标记的数,则已经找到一个满足条件的区间分界点,break 这样的操作进行k 1次,由于ptr单调递增, ...
分类:
其他好文 时间:
2019-02-11 10:26:43
阅读次数:
212
含义 若有函数 $a[i,j]$ ,令 $i=0$ 的情况: 若最优决策点为 $ip$ ,由于函数 $S$ 在 $ =0$ 右侧区间单调递增,则若选取决策点为 $p$ 且 $S =0$ 且 $pp$ 优于 $p$ ,那么由此可知对于某个决策点 $q$ 往右的决策必定单调变优。则对于所有 $p q$ ...
分类:
其他好文 时间:
2019-02-07 17:48:28
阅读次数:
160
[USACO5.5]贰五语言Two Five 一道记忆化搜索题 一.题面 "题目" 定义一类行列均单调递增的$5\times5?$矩阵,将其展开后所形成的字符串按字典序编号. 题目要求实现编号与字符串的相互转换 二.解题步骤 1.求限制条件下的合法矩阵的数量 ? 先不管字符串与编号的相互转换; ? ...
分类:
编程语言 时间:
2019-01-23 21:31:30
阅读次数:
185
"传送门" 看到最长上升子序列考虑DP 设$f_i$表示计算到当前,长度为$i$的最长上升子序列的最后一项的最小值,显然$f_i$是一个单调递增的序列。 转移:对于当前计算的元素$x$,它的取值范围为$[l,r]$,设当前可以转移的区间为$[j,k]$(即对于$\forall p \in [j,k] ...
分类:
其他好文 时间:
2019-01-17 23:56:25
阅读次数:
323
建议不了解STL的读者先了解几个基本的队列的STL.这也是单调队列和单调栈一般都会用到的. 单调队列:建立一个队列,使队列一直具有单调性(满足单调递增或者单调递减),时间复杂度O(N). 那么我们应该如何做到"使队列一直具有单调性"呢? 以单调递增为例,我们O(N)扫描整个序列,每扫描到一个元素: ...
分类:
其他好文 时间:
2018-12-22 18:34:17
阅读次数:
450
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 题目解答 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; ...
分类:
编程语言 时间:
2018-12-21 00:04:15
阅读次数:
253
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 题目解答 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; ...
分类:
编程语言 时间:
2018-12-20 21:35:33
阅读次数:
198
单调栈的好题 "题目链接" 题目是求最大矩形面积 1.BF思路 可以想到最后大矩形的上边界一定是某个小矩形的顶 那么我们就枚举每一个小矩形, 将其顶作为限制条件尽可能地向两边扩展 复杂度$O(n^2)$ 2.单调栈做法 如图,黑色为最终要求的矩形 我们可以维护一个单调递增栈 如上图:(从黄色的矩形( ...
分类:
其他好文 时间:
2018-12-15 12:02:02
阅读次数:
128
好题,这题是我理解的第一道斜率优化dp,自然要写一发题解。首先我们要写出普通的表达式,然后先用前缀和优化。然后呢?我们观察发现,x【i】是递增,而我们发现的斜率也是需要是递增的,然后就维护一个单调递增就行了。 放一个证明题解。 设f[i]表示在i点建仓库的最小费用,易得方程:f[i]=min(f[j ...
分类:
其他好文 时间:
2018-12-10 22:38:28
阅读次数:
227