11 2024 档案
摘要:是如下的数据结构。 我们需要支持头尾增删,以及全局查询的操作。 蠢笨的做法是使用线段树分治,但会多 ,使用双栈可以做到线性。 操作如下: 开两个栈 ,分别处理头尾的增删 增:头增 ,尾增 删:与增类似,但是栈空时特别处理:
阅读全文
摘要:反悔贪心杂题 笔者水平有限,若有笔误望指出。 笔者认为,反悔贪心其实质仅仅只是一类贪心策略,所谓反悔,仅为一个思维过程,体现为:拿出一个错误的贪心策略(很多时候体现为略去某些限制)并尝试使用更多的策略去修正它 反悔贪心有一个很常见的应用场景:从 的答案修正到 的答案,并且
阅读全文
摘要:基本都抄的,窝怎么这么渺小啊 AGC007F 这种匹配可行性基本都是从后往前贪心,这样没有后效性。 而我们考虑原序列的每个字符都对应了最后序列的一个区间(如果用上)。 考虑把整个变化过程写成一个矩阵,并且将每个字符染上不同颜色。 像这样: 容易发现对于一条新的路径,我们尽可能与上一条路径贴合最优。因
阅读全文
摘要:显然独立求出每堆的 即可。 什么时候无法下棋?当且仅当不存在一个 的子集满足其 ,也就是 但是同时,比 更大的二进制位是无法动弹的,可以直接删去 所以这时候我们就保证了末状态一定是零。 同时对
阅读全文
摘要:RT,主要内容涉及有 高维前缀和(子集DP),高维后缀和,高维差分,快速沃尔什变换,子集卷积。 参考资料: link1 link2 知识点合集 高维前缀和 用于求解 。 for(int i=0;i<(1<<n);i++)f[i]=g[i
阅读全文
摘要:模拟赛杂题 18th D 我认为较长时间应当可以独立完成。比较综合的计数题。 考虑一个简化的问题,如何计数一个序列的本质不同子序列。 考虑模拟子序列匹配的过程,每一位字符都找到最近的可以匹配的进行匹配 这告诉我们,如果对于两个字符 , ,且 \([i+1,j-1]\
阅读全文
摘要:是在同一个情景下,求出前 类最小的方案价值。 其可以等效转化为: 将每一种方案视作一个状态,并通过状态之间的大小关系连边(严格),我们求出其拓扑序的前 个节点。 笔者认为,所有的优化方案本质上都是在尽可能少的边数下保留这个拓扑结构,亦或者是利用隐式建图等技巧(因为事实上绝大部
阅读全文
摘要:估计这几天是正式学习 ddp,所以特写笔记。 DDP 简介 是这样一类技巧,利用广义的矩阵乘法实现 单点修改权值,动态查询某个点的 DP 值 关于 矩阵乘法,广义矩阵乘法 其核心思想是利用矩阵乘法具有结合律(可以使用数据结构维护)的优势 序列上的 Ddp 先看一个例子:最大子段和,显然我们有 \(f
阅读全文