随笔分类 -  动态规划-状态设计

摘要:# 题目 [点这里](https://uoj.ac/contest/84/problem/811)看题目。 题面太长,我懒得抄了。 # 分析 假设五种宝石最终需要的数量为 A,B,C,D,E,则取宝石需要的操作轮数为 $\max\{A,B,C,D,E,\lceil\frac{A+B+C+D+E} 阅读全文
posted @ 2023-07-17 19:22 crashed 阅读(102) 评论(0) 推荐(3) 编辑
该文被密码保护。
posted @ 2023-05-28 22:46 crashed 阅读(0) 评论(0) 推荐(0) 编辑
摘要:离开暴力,一事无成 阅读全文
posted @ 2022-11-23 21:53 crashed 阅读(61) 评论(0) 推荐(0) 编辑
摘要:现在的 ABC Ex 都这么有实力的吗? 阅读全文
posted @ 2022-10-10 16:40 crashed 阅读(150) 评论(1) 推荐(0) 编辑
摘要:「NOI2022」移除石子出题人对选手没有同理心.jpg 阅读全文
posted @ 2022-09-03 10:57 crashed 阅读(319) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 ~~从一开始就知道正确的思路,到最后都没有写成正确的算法~~。 给定一个字符串 T,考虑怎么验证它能不能由 S 和另外一个括号串合并起来。 一个自然的做法是,写一个 DP:设 fi,j 表示 T[1,i] 能否由 S[1,j] 和另一个括号串前缀 阅读全文
posted @ 2022-08-10 12:13 crashed 阅读(109) 评论(0) 推荐(1) 编辑
摘要:题目 点这里看题目。 分析 我们首先来研究一下一种后缀数组的出现条件。 后缀数组自身是一个 1n 的排列 p。如果有字符串 S 的后缀数组是 p,则我们可以考虑排序后相邻的两个后缀的比较:首先比较 S[pk]S[pk+1],如果相同再比较 $\oper 阅读全文
posted @ 2022-08-05 21:05 crashed 阅读(111) 评论(3) 推荐(2) 编辑
摘要:题目 点这里看题目。 分析 显然这是一道 DP 题目。 显然,由于 B,C 都是关于列,只有 A 是关于行的,我们应该逐列做 DP。 状态有一点小技巧,我们可以设 fi,j 表示前 i 列,其中有 j 行出现了第一个黑格子,且这 j 行的相对顺序已经确定的方案数。 No 阅读全文
posted @ 2022-06-30 09:49 crashed 阅读(52) 评论(0) 推荐(0) 编辑
摘要:有点意思的 DP 题 阅读全文
posted @ 2022-05-08 19:50 crashed 阅读(77) 评论(0) 推荐(1) 编辑
该文被密码保护。
posted @ 2022-03-17 22:42 crashed 编辑
摘要:题目 点这里看题目。 分析 首先,设原图的最小生成树的边集为 T,则容易得到: E(maxxTex)=01P(t<maxxTex)dt 而可以发现 阅读全文
posted @ 2022-03-13 19:46 crashed 阅读(59) 评论(0) 推荐(1) 编辑
摘要:题目 点这里看题目。 分析 真是奇妙的题目。 题目中的“向量”其实是拿来迷惑人的。如果选定了每种向量各自选多少个,我们就唯一确定了一种画多边形的方案。 所以,将限制数量化:我们需要得到一个长度为 n 的非负整数序列 {c},满足如下条件: \[ \begin{cases} \su 阅读全文
posted @ 2022-03-03 21:56 crashed 阅读(40) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-02-14 17:36 crashed 阅读(0) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 我们可以先将树变成有根树,这样我们可以计算包含某个点的连通块数量,求和自然是树上所有连通块的数量。 那么,如果一个结点被连通块包含,则它的祖先也必须被包含。自顶向下的 DP 难以使用 DFS 解决,因此我们可以在 DFS 序上进行 DP,这样选择一个结点就是转移到 DFS 阅读全文
posted @ 2021-11-09 21:11 crashed 阅读(62) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看 F 题。 分析 很不错的一道题。 我们可以尝试改写一下循环语句: for i in range(l, r): 其实等价于: for i in range(1, n): if( l <= i and i <= r ): 为了方便,这里“引入”了 if 语句,同时使用了 python 的 阅读全文
posted @ 2021-10-20 21:21 crashed 阅读(79) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 很不错的 DP 题目。 简单分析一下问题的结构:对于一次操作,直观上我们可以选一条边,然后加入一个类三角形的结构。现在对于这个三角形,我们既可以基于初始的边继续加入三角形,也可以基于新的三角形的另外两边加入新的三角形。注意到,一个三角形的另外两条边对应的是独立的子问题。这 阅读全文
posted @ 2021-10-12 16:55 crashed 阅读(47) 评论(0) 推荐(0) 编辑
摘要:题目 门前有一道很深的沟,呈一排方格状。其余部分都平平整整的,唯独有连续的 n 格坑坑洼洼。这些坑洼的格子被从 1 开始编号,从沟底开始算,第 i 格的高度为一个正整数 hi。 天下大雨,于是坑洼的部分会产生积水,而平整的部分的水会被直接排掉。考虑某个竖直切面,如果某个空白 阅读全文
posted @ 2021-10-07 19:32 crashed 阅读(85) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 玄学题目。直接搬运题解.jpg 解决这道题首先需要用到处理强连通图的一种特殊方法:耳分解 定理:一个有向图 G=(V,E) 为强连通,当且仅当它可以通过如下方法构造: 维护一个图 G=(V,E);初始时,\(V'=\{v\},E'=\varnothi 阅读全文
posted @ 2021-08-15 14:25 crashed 阅读(267) 评论(0) 推荐(2) 编辑
摘要:题目 点这里看题目。 分析 手玩容易发现 good graph 的第二条要求等价于 G 是二分图。 说明: 设 xu 表示某种方案中 u 是否被操作。 那么有 |E| 条方程。对于 (u,v)E,方程的形式为 \(x_u\oplus x_v=1 阅读全文
posted @ 2021-08-09 22:26 crashed 阅读(99) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 一个简单的初始想法是:计算所有最终不是强连通的方案,然后再用总方案减去。 那么非强连通的方案经过缩点后,必然会变成 DAG 的形状。我们可以枚举所有 DAG 的形态,计算方案数: 每个强连通块的方案数:子问题,递归即可; 外部 DAG 的数量; 考虑求解 DAG 的数量。 阅读全文
posted @ 2021-08-09 22:08 crashed 阅读(95) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示