随笔分类 - DP
摘要:CXXXVIII.CF739E Gosha is hunting 因为 \(n\) 是 \(2000\),我们可以想出设一个二维状态来保证 \(n,a\) 这两维,然后再wqs二分 \(b\) 这一维。(明显,随着 \(b\) 越来越大,呈现一凸函数)。 时间复杂度 \(O(n^2\log n)\)
阅读全文
摘要:CXXXVI.[IOI2000] 邮局 加强版 Observation 1. 若一段村庄中设一个邮局,则邮局一定设在其中位数(若是偶数则任一中位数)的位置。 Observation 2. 若令 \(w(l,r)\) 为区间 \((l,r)\) 中村庄设一个邮局的费用,则其满足四边形不等式。 Obse
阅读全文
摘要:CXXXV.[ZOJ3989]Triangulation 神题。 这个数据范围很难不让人想到状压DP。于是我们考虑应该怎么设计状态。 考虑一组三角剖分的形态:其必定是在所有点所构成的凸包内部划分出很多三角形。这也就表明,任何一组三角剖分一定包含所有凸包上的边。 我们可以想到一个比较简洁的DP:设 \
阅读全文
摘要:CXXXIV.[BZOJ3864]Hero meet devil 我们不妨从最trival的LCS问题上想起:暴力的LCS求法是什么? 设 \(f(i,j)\) 表示一个串(不妨设为本题中要填的字符串 \(T\))的前 \(i\) 位与另一个串(即题目中给出的 \(S\))的前 \(j\) 位所构成
阅读全文
摘要:CXXXIII.[HDU6094]Rikka with K-Match 依旧wqs二分。 首先,依据我们之前提到过的一个性质,“凡是可以表示成费用流模型的东西都有凹凸性”,本题也不例外,关于匹配个数的函数是凹的。 凹的就可以wqs二分。于是问题转换为最小权任意匹配。因为 \(m\) 只有 \(4\)
阅读全文
摘要:CXXXII.[GYM102268J]Jealous Split wqs二分。 首先,先讲一下wqs二分的应用条件: 对于某个函数 \(f(x)\) 和一个特定的 \(x\),要求出 \(f(x)\) 的值的复杂度是不可接受的;但是,若满足 \(f\) 是上凸/下凹的,且对于一个给定的 \(k\),
阅读全文
摘要:CXXXI.[GYM102331J]Jiry Matchings 首先,不难想到一个 \(O(n^2)\) 的树上背包:设 \(f_{i,0/1,j}\) 表示在以 \(i\) 为根的子树内,其中 \(i\) 没有被匹配/被匹配了,且整个子树中共匹配了 \(j\) 条边的最优方案。考虑优化。 我们知
阅读全文
摘要:CXXX.[GYM102904B]Dispatch Money 考虑设 \(f_i\) 表示长度为 \(i\) 的前缀的最优划分。则我们发现,有 \(f_j+\operatorname{inversion}(j+1,i)\rightarrow f_i\),其中 \(\text{inversion}\
阅读全文
摘要:CXXIX.CF559E Gerald and Path 考虑将所有线段按照固定的那一端从小往大排序,并且对线段的端点离散化。 这之后,设 \(f_{i,j}\) 表示当前处理到线段 \(i\),且所有线段中最右的那根的右端点不右于位置 \(j\)(即可以在 \(j\) 左面或与 \(j\) 重合)
阅读全文
摘要:CXXVIII.[AGC020E] Encoding Subsets 这种“压缩”题可以考虑区间DP。但是若考虑标准的区间的话它“子集”等定义又不好处理。 于是我们考虑对字符串作DP。设 \(f(S)\) 表示一个串 \(S\) 及其所有子集的压缩方案数。 显然,其有两种转移方式:一种是 \(S_0
阅读全文
摘要:CXXVII.[GYM102822I]Invaluable Assets 引理1.最优解法下我们会尽量选取效果为 \(\sqrt{c}\) 的肥料。 考虑每袋肥料单位效果所需费用——此为 \(\dfrac{x^2+c}{x}\)。将分数拆开并套上均值,得到最大值在 \(\sqrt{c}\) 处取到。
阅读全文
摘要:CXXVI.[GYM102832J]Abstract Painting 考虑将一个圆心为 \((x,0)\),半径为 \(R\) 的圆,转换为 \(x\) 轴上线段 \([x-R,x+R]\),问题转换为求无交的线段覆盖方案数。 因为所有的圆半径很小(\(5\)),所以我们考虑状压位置 \(i\)
阅读全文
摘要:CXXV.[Topcoder16346]TwoPerLine 跟一年半以前就刷过的经典老题[AHOI2009]中国象棋完全一致,道理非常simple,设 \(f_{i,j,k}\) 表示DP到第 \(i\) 列,其中有 \(j\) 行内恰有 \(2\) 枚棋,\(k\) 行里恰有 \(1\) 枚棋,
阅读全文
摘要:CXXIV.[GYM102155J]stairways 首先,考虑暴力 \(n^3\) DP——设 \(f_{i,j,k}\) 表示当前DP到第 \(i\) 个人,且第一条楼梯上到的最晚的人在时刻 \(j\) 到达,第二条楼梯在时刻 \(k\)。 然后,观察到 \(j,k\) 中至少有一个值为前缀
阅读全文
摘要:CXXIII.CF612F Simba on the Circle 题解
阅读全文
摘要:CXXII.CF913E Logical Expression 题解
阅读全文
摘要:CXXI.[GYM100134I][NEERC2012]Identification of Protein debug5h,精神崩溃。 首先,很容易想到把所有东西都乘上 \(10^5\) 变成整数。然后,因为 \(\gcd(9705276,12805858)=2\),所以在字符串长度 \(\leq4
阅读全文
摘要:CXX.CF917D Stranger Trees 这里是本题的DP解法。矩阵树定理解法详见矩阵树定理学习笔记中重题III.TopCoder13369-TreeDistance。 首先,一个基础结论是,如果一张 \(n\) 个点的图,被连成一棵森林,则继续加边连成一棵树的方案数是 \(n^{k-2}
阅读全文
摘要:CXIX.[SHOI2009]舞会 之前一直在往二项式反演去想,没想到最后居然成了…… 我们考虑将男生和女生全部按照高度递减排序,则对于第$i$个男生,能与他构成特殊对的女生必定是一个前缀,设前缀长度为$num_i$。显然,$num_i$是单调不降的。 然后,我们考虑设$f_i$表示钦定$i$对匹配
阅读全文
摘要:CXVIII.[BJOI2017]机动训练 这题的瓶颈,在于把 \(a_i^2\) 看作 \(\sum\limits_{i=1}^{a_i}\sum\limits_{j=1}^{a_i}1\),然后我们就可以看成“两两相同的机动路径都能贡献$1$”。于是我们设$f_{x1,y1,x2,y2}\(表示
阅读全文

浙公网安备 33010602011771号