摘要: 不擅长博弈论选手的垃圾总结 阅读全文
posted @ 2024-02-15 10:35 KellyWLJ 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 定义 建出的存储信息为不同版本情况的线段树(又称主席树) 核心思想 但直接每次复制一次,空间时间复杂度受不了 于是我们每次只新建有修改的点,没修改的直接连到老版本上 因此动态开点,记录新的根即可 注意它“认子不认父” 时间空间复杂度均为 \(O(nlogn)\) 运用时要注意,找到前后序列的变化, 阅读全文
posted @ 2024-02-15 10:31 KellyWLJ 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 李超线段树 线段树的扩展版本 用来动态维护平面上直线 支持插入直线/线段,查询横坐标某处覆盖的线中纵坐标最大/最小值 可以用于斜率优化 DP 插入直线 这里直线是线段树上维护的信息,表示当前区间中点处最优的直线 同时相当于区间修改,直线也是标记,这个区间内都可能有这条直线 但是标记难以合并,必须递归 阅读全文
posted @ 2024-02-15 10:31 KellyWLJ 阅读(99) 评论(0) 推荐(0) 编辑
摘要: dfs 序的应用 很显然的就不说了,分析加法对求的东西的贡献,因为区间操作基本只能对子树,子树的 dfs 序连续 把路径加路径查用差分转换为到根的路径,默认维护路径的都是维护到根的 路径加,单点查询:考虑某个点只有在从根出发的路径的路径终点在子树内时才会被加,因此转化为 dfs 序序列上单点加,子树 阅读全文
posted @ 2024-02-15 10:30 KellyWLJ 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 概率和期望 期望 常见技巧与知识 如果当前步数通往下一步时,有 \(p\) 的概率原地打转,则走到下一步的期望步数为 \(\frac{1}{1-p}\) 如果在进行某个操作时达到要求则停止,求期望步数,则可设达到要求后不停止,但不耗步数,保持问题的对称性 求步数的期望:\(ans=E[\text{步 阅读全文
posted @ 2024-02-14 22:26 KellyWLJ 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 高维前缀和(SOS DP) 通常求二维前缀和,用容斥来求 但其实,完全可以先做一遍行的前缀和,再做一遍列的前缀和 拓展到 \(k\) 维也是如此,可以在 \(O(nk)\) 的复杂度求前缀和 但怎么和 DP 扯上关系? 可以把第 \(i\) 维当作阶段,每一维的具体信息是状态 先枚举阶段,表示当前固 阅读全文
posted @ 2024-02-14 22:24 KellyWLJ 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 思路:按区间的 \(len\) 从小到大 DP,枚举左端点,算出右端点,再枚举中间的分界点转移 有可能是向左右两端各扩展 \(1\) 步 还有时要记录在左/右端点,分开转移 把问题划分为区间长度更短的最优子结构 注意 \(len=1\) 时初始化及边界 P4342 [IOI1998]Polygon 阅读全文
posted @ 2024-02-14 22:23 KellyWLJ 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 以 P5785 [SDOI2012]任务安排 为例 朴素方程 其实也没那么简单,第一眼想法是设 \(f(i,k)\) 表示以 \(i\) 为结尾,共分了 \(k\) 段的总方案数 \[f(i,k)=\min_{j=0}^{i-1} f(j,k-1)+(sumc_i-sumc_j)\cdot( sum 阅读全文
posted @ 2024-02-14 22:21 KellyWLJ 阅读(8) 评论(0) 推荐(0) 编辑
摘要: slope trick 对于一类 DP 问题,DP 状态是二维的 \(f_{i,j}\),且 \(f_i\) 可以看作一个关于 \(j\) 的线性的连续凸分段函数 转移时可以直接维护这个函数而优化复杂度 维护操作 以下凸函数为例 我们维护第一段函数的斜率 \(k\),用数据结构维护出斜率每变化 \( 阅读全文
posted @ 2024-02-14 22:19 KellyWLJ 阅读(37) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-02-14 22:14 KellyWLJ 阅读(0) 评论(0) 推荐(0) 编辑