随笔分类 -  ACM-动态规划

摘要:https://cn.vjudge.net/problem/20907/origin 长度是 n 的字符串 s,如果它自身是回文数,且它的长度为 的前缀和后缀是 (k - 1)-回文数,则它被称作 k-回文数。按照定义,任何字符串 (甚至空字符串) 都是 0-回文数。 字符串 s 的回文度,被定义为 阅读全文
posted @ 2018-09-07 22:35 Hugh_Locke 阅读(273) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/5/E 众所周知,在很久以前,在今天的 Berland 地区,居住着 Bindian 部落。他们的首都被 n 座山所环绕,形成了一个圆形。在每座山上,有一名看守人,昼夜看守着相邻的山。 万一出现了任何危险,看守人可以在 阅读全文
posted @ 2018-09-06 23:52 Hugh_Locke 阅读(220) 评论(0) 推荐(0)
摘要:https://cn.vjudge.net/problem/1365218/origin 题意 一条直线上有n棵树 每棵树上有ci只鸟 在一棵树底下召唤一只鸟的魔法代价是costi 每召唤一只鸟,魔法上限会增加B 从一棵树走到另一棵树,会增加魔法X 一开始的魔法和魔法上限都是W 问最多能够召唤的鸟的 阅读全文
posted @ 2018-09-03 22:52 Hugh_Locke 阅读(264) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/834/D 将一个长度为n的序列分为k段 使得总价值最大一段区间的价值表示为区间内不同数字的个数 n<=35000,k<=50 这题的dp是十分显然的,用dp[i][j]表示前i个数字分成j段的最大值 状态转移方程就是 阅读全文
posted @ 2018-08-19 09:05 Hugh_Locke 阅读(321) 评论(0) 推荐(0)
摘要:很显然这是一道状压dp的题目 由于每个最优子结构和前两行有关,一个显而易见的想法是用三维dp[i][j][k]用来记录在第i行下为j状态,i - 1行为k状态时的最大值,然而dp[100][1 << 11][1 << 11]显然是要MLE的,我们可以想到用滚动数组优化,事实上确实可以用滚动数组优化。 阅读全文
posted @ 2018-08-19 09:03 Hugh_Locke 阅读(436) 评论(0) 推荐(0)
摘要:https://www.nowcoder.com/acm/contest/141#question 一眼背包,用四维dp记录在A,B,C,D条件限制下可以获得的最大知识点,但是题目要求输出路径,在输入中包含0这样的样例,原本的递归寻找路径变的不可行,就需要开五维dp记录在i组条件下ABCD的最大知识 阅读全文
posted @ 2018-08-19 08:59 Hugh_Locke 阅读(157) 评论(0) 推荐(0)