
区间dp
动态规划的升级版,其实也不是很难
cqbz_yanglin
垃圾
-
原创 花店橱窗设计 c++
这道题其实并不难 首先,我们可以把这道题看做是数字三角形的一个升级版就可以了。(假如说仔细想一想是可以理解的) 状态 :f[i][j] 为到第i排, 第j列路径上的最大值;(包括前面的) 接下来就是思路了: f[i + 1][k] = max(f[i + 1][k], f[i][j] + a[i + 1][k]); 先把状态转移方程亮出来~~ 首先,我们就根据样例来说: 在最开始的时候,我们要把f[i][j] = a[i][j], 因为在当前的还没有进行操作的时候,最大值其实就是他自己 根据这张图,.2020-06-21 12:52:42133
0
-
原创 基本的回文串练习(区间dp来做)
这道题的标签很简单,就是一道入门题。但是我发现,这道题其实是可以用dp来做的. 首先,把题目放上来: 题目描述 给定一个字符串,输出所有长度至少为2的回文子串。 回文子串即从左往右输出和从右往左输出结果是一样的字符串,比如:abba,cccdeedccc都是回文字符串。 样例输入 123321125775165561 样例输出 33 11 77 55 2332 2112 5775 6556 123321 165561 我们首先定义状态: dp[i][j] 为 i ~ j 的区间是否为回文串 所以我的2020-06-21 22:54:4282
0
-
原创 词典(map)题解
题目描述 你旅游到了一个国外的城市。那里的人们说的外国语言你不能理解。不过幸运的是,你有一本词典可以帮助你。 输入格式 首先输入一个词典,词典中包含不超过100000个词条,每个词条占据一行。每一个词条包括一个英文单词和一个 外语单词,两个单词之间用一个空格隔开。而且在词典中不会有某个外语单词出现超过两次。词典之后是一个空行, 然后给出一个由外语单词组成的文档,文档不超过100000行,而且每行只包括一个外语单词。输入中出现单词只包 括小写字母,而且长度不会超过10。 输出格式 在输出中,你需要把输入文2020-07-25 20:54:43526
0
-
原创 分离与合体 题解(通俗易懂)
建议全屏阅读 还是先把题目放上来吧~~ 经过在机房里数日的切磋,LYD 从杜神牛那里学会了分离与合体,出关前,杜神牛给了他一个测试…… 杜神牛造了 个区域,他们紧邻着排成一行,编号 。在每个区域里都放着一把 OI 界的金钥匙,每一把都有一定的价值,LYD 当然想得到他们了。然而杜神牛规定 LYD 不能一下子把他们全部拿走,而是每次只可以拿一把。为了尽快得到所有金钥匙,LYD 自然就用上了刚学的分离与合体特技。 一开始 LYD 可以选择 中的任何一个区域进入,我们不妨把这个区域记为 。进入后 LYD 会在2020-07-19 21:49:0299
0