
区间DP
笑对这个世界的志贵
这个作者很懒,什么都没留下…
展开
-
【区间DP && 记录路径】URAL - 1183 Brackets Sequence
Step1 Problem: 加入最少数量的括号使得这个括号序列合法,输出合法括号序列。 数据范围: 字符串长度n不超过100.Step2 Involving algorithms: 区间dpStep3 Ideas: 状态dp[i][j]:区间[i, j]需要最少数量的括号。 状态转移方程: 我们需要用满足序列 更新 满足序列 使得 满足...翻译 2018-04-03 10:27:31 · 218 阅读 · 0 评论 -
【区间dp && 记录路径 && 预处理】URAL - 1635 Mnemonics and Palindromes
Step1 Problem: 将一个字符串 拆分成 若干个回文子串(数量尽可能的少),输出拆分后的子串数 和 子串。 数据范围: 字符串长度n不超过4000.Step2 Involving algorithms: 区间dpStep3 Ideas: n很大,状态数组只能一维。 预处理出 pal[l][r]:如果[l,r]是回文 为1 否则0 ...翻译 2018-04-03 11:01:52 · 204 阅读 · 0 评论 -
【区间DP && 按位贪心】CodeForces - 981D Bookshelves
Step1 Problem: 给你 n 本书以及书的权值 a[i],让你放到 k 个书架上(放到书架上的书必须是连续的),每个书架的值为书的权值和,输出最大的书架的值异或和。 数据范围: 1<=k, n <= 50, 0 < a[i] < 2^50.Step2 Ideas: 求最大的书架的值异或和,按位从高到低枚举答案,因为高位满足答案 肯...翻译 2018-08-11 08:47:09 · 194 阅读 · 0 评论 -
【区间DP && bitset && 内存】Codeforces Round #505 D. Recovering BST
Step1 Problem: 给你 n 个点,升序给出 n 个点的权值,让你判断是否能构成一棵排序树:两个节点权值的 gcd 不等于 1 才能够连边。 数据范围: 2 &lt;= n &lt;= 700, 2 &lt;= a[i] &lt;= 1e9.Step2 Ideas: 扩充知识:通常情况下,1字节 = 8位. C++ 里面 int 占 4字节,char 占...翻译 2018-08-20 10:08:50 · 216 阅读 · 0 评论