随笔分类 -  dp

上一页 1 2 3 4 5 6 ··· 9 下一页
摘要:HDU - 5329 首先肯定要把基环扣出来, 然后我们枚举每个块的大小k, k肯定是n的因子。 把基环上的点作为树根先把它们的子树都分成k份, 如果无法分肯定不行, 如果都可以分, 那么每个基环上的点可能还有一些没有达到k个, 我们需要 把相邻的基环组合一下恰好变成k个, 这个可以尺取 + dp 阅读全文
posted @ 2019-07-27 10:16 NotNight 阅读(162) 评论(0) 推荐(0)
摘要:Blank dp[ o ][ i ][ j ][ k ] 表示前 o 个已经填完, 不同数字的最后一个分别在o, i, j, k, 直接dp, 把限制丢到R, 在R转移出去的时候把不合法的丢掉。 阅读全文
posted @ 2019-07-23 13:30 NotNight 阅读(638) 评论(0) 推荐(1)
摘要:Culture Code 排完序之后dp。 dp[ i ] 表示 i 作为最里面一层的最小花费。 way[ i ] 表示得到最小花费的方案数。 然后用Map维护最小值就好了。 阅读全文
posted @ 2019-07-23 11:13 NotNight 阅读(320) 评论(0) 推荐(0)
摘要:HDU - 5362 还真的就卡常啊, T1000组, 我以为有什么nb的预处理方法呢。 每个长度的贡献期望是一样的, dp出来然后计算就好了。 阅读全文
posted @ 2019-07-19 23:39 NotNight 阅读(110) 评论(0) 推荐(0)
摘要:HDU - 5370 f[ i ] 表示顶点数为 i 的二叉树的种数, 其实就是卡特兰数。 dp[ i ][ j ] 表示 i 个顶点分给 j 个二叉树的方案数, 这个是个 n ^ 3 的dp。 然后根据提供的信息建出二叉树, 我们考虑如何计算, 对于在 u 的左儿子添加了 x 个点的二叉树, 我们 阅读全文
posted @ 2019-07-16 20:20 NotNight 阅读(101) 评论(0) 推荐(0)
摘要:HDU - 5401 明显发现这个东西可以递归处理, 然后把式子列出来, 记忆化搜就可以了。 阅读全文
posted @ 2019-07-11 15:18 NotNight 阅读(111) 评论(0) 推荐(0)
摘要:The Fair Nut and Rectangles 很裸的斜率优化呀。 维护直线 维护凸包 阅读全文
posted @ 2019-07-10 15:13 NotNight 阅读(244) 评论(0) 推荐(0)
摘要:HDU - 5406 排序之后就变成了求两个不相交的最长LIS, 用树状数组把n ^ 3 的dp 优化成 n ^ 2 * log(n) 就ok 了。 阅读全文
posted @ 2019-07-09 14:45 NotNight 阅读(116) 评论(0) 推荐(0)
摘要:HDU - 5411 考虑直接dp会T, 用矩阵优化一下就好了。 阅读全文
posted @ 2019-07-09 12:53 NotNight 阅读(140) 评论(0) 推荐(0)
摘要:Meeting He 感觉对这种题好无力啊, 以后这种感觉没有办法一次性dp完成的可以考虑用类似于bellman的方法来求最优值。 阅读全文
posted @ 2019-07-06 20:51 NotNight 阅读(129) 评论(0) 推荐(0)
摘要:Liars and Serge 当说答案是 x 的人数是 y 且 x != y 的时候, 这y个人肯定都是说谎的, 所以考虑 dp[ i ][ j ][ k ] 表示答案为1 - i 的人全部确定, 有 j 个位置被占, k个人说谎的方案数。 转移很显然, 但是复杂度很高需要交表。 阅读全文
posted @ 2019-07-06 16:29 NotNight 阅读(256) 评论(0) 推荐(0)
摘要:Array Beauty 最关键的一点是, 可以枚举最小值, 对于每个最小值算出大于等于它的方案数, 这个复杂度是科学的因为 i * (k - 1) <= dif 阅读全文
posted @ 2019-07-06 14:10 NotNight 阅读(441) 评论(0) 推荐(0)
摘要:Isolation 感觉没有见过这种分块优化的题目啊。。 dp转移很容易就能得出来, 然后分块维护块内信息, 在末尾加入一个数的时候更新块内信息, 更新当前合法的dp值得和。 阅读全文
posted @ 2019-07-05 15:41 NotNight 阅读(177) 评论(0) 推荐(0)
摘要:Morse Code 每次加入一个字符的时候吧之前没有出现过的子串的方案数统计进去, 这个可以用字典树去check出现过没。 阅读全文
posted @ 2019-07-05 15:39 NotNight 阅读(183) 评论(0) 推荐(1)
摘要:HDU 6125 把前八个素数状压, 后面的素数组内最多取一个, 所以分组背包, 没想到呀。。 阅读全文
posted @ 2019-07-04 09:15 NotNight 阅读(107) 评论(0) 推荐(0)
摘要:Strongly Connected Tournament 好菜啊, 根本不会写啊。。。 这种一下分成很多块的dp题, 可以考虑最后一部分, 前面的继续往下分的时候再考虑。 题解讲的很清楚啦。 https://codeforces.com/blog/entry/56992 感觉就是每一部分都不难, 阅读全文
posted @ 2019-07-02 21:18 NotNight 阅读(247) 评论(0) 推荐(0)
摘要:Piglet's Birthday dp[ i ][ j ] 表示目前位置, 第 i 个架子上的蜂蜜还有 j 个没有吃过的概率。 j 是不会增加的, 所以复杂度是对的。 但是我感觉我计算过程中的精度不怎么行啊, 怎么也过了。。 阅读全文
posted @ 2019-07-02 13:33 NotNight 阅读(125) 评论(0) 推荐(0)
摘要:Nauuo and Pictures (hard version 首先考虑简单版本的, 一个一个dp求出来, 分成三坨, 一坨当前要求照片, 一坨除了当前的喜欢的照片, 一坨除了当前的讨厌的照片。 单次dp 50 ^ 4 感觉hard的也挺简单的。。 我们先算出最后喜欢的照片的总w, 和讨厌的照片的 阅读全文
posted @ 2019-07-01 20:49 NotNight 阅读(695) 评论(4) 推荐(0)
摘要:Valera and Number 感觉想了挺久的。。 dp[ o ][ i ][ mask ] , 其中mask表示最后9位是什么。 如果mask == 0 , 表示进行了o轮, 当前lowbit是哪位这种状态的概率。 如果mask != 0 , 表示进行了o轮, 最后9位为mask, 从第10位 阅读全文
posted @ 2019-07-01 15:43 NotNight 阅读(131) 评论(0) 推荐(0)
摘要:Vasya and Endless Credits 感觉是很巧妙的dp啊, 想到了分成两种信用卡, 并且有一种需要按b排序, 但是没想出怎么dp。。 阅读全文
posted @ 2019-06-30 22:00 NotNight 阅读(117) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 9 下一页