随笔分类 - 数据结构-栈,队列
摘要:题目 分析 考虑某个子区间 为“好”的限制: 对于每个点,其度数必须偶数; 所有的边连通; 然后将它们转化到序列上: 对于 ,包含它的顺序对数量必须为偶数。这里的顺序对包括 和 两种; 区间内不存在分界
阅读全文
摘要:题目 点这里看题目。 分析 离线的话,我们显然可以 线段树分治 + DP ,时间复杂度大概是 。 不过,既然题目明确要求在线,却还不开强制在线,我们就应该去思考一下在线算法。 显然我们需要一个 DP 去维护答案,这里不再赘述。 考虑我们直接处理的难点之一是双端队
阅读全文
摘要:题目 点这里看题目。 分析 出题人已经开始拿高精作为考点了吗 0pts ~ 24pts 数据太小,小到你甚至很难想到专门对付这些部分分的算法。 36pts 这应该是一个经典的问题, USACO 曾经考过类似的题目。 思想很简单,既然我们要求分出来的段单调递增,我们就把每一段的两个端点都放到状态里面。
阅读全文
摘要:题目 点这里看题目。 分析 直接变换式子: \[ \begin{aligned} h_j\le h_i+p_i-\sqrt{|i-j|} & \Rightarrow p_i\le h_j+\sqrt{|i-j|}-h_i\\ & \Rightarrow p_i=\lceil\max\{h_j+\sq
阅读全文
摘要:题目 点这里看题目。 分析 先特判掉的情况。 首先可以考虑到一个简单 DP : :前张牌的最大贡献。 转移可以地枚举区间众数,但它不存在决策单调性,众数查询也很难优化。 考虑另一种转移。我们对于,只取它结尾的点数的后缀 \(f(i)=\ma
阅读全文
摘要:题目 点这里看题目。 分析 考虑将所有子序列画成的表的形式,表中的元素就表示子序列的最小值。(则) 那么,对于一个元素,记它左边第一个小于它的位置为,右边第一个小于等于它的位置为$rig(i)\
阅读全文