![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp初步
_Warning_
这个作者很懒,什么都没留下…
展开
-
UVA - 12034 Race (递推+dp)
题目大意: 有一群马进行赛跑,可以有名次并列的情况存在,比如:如果是两匹马A、B,存在三种可能:A第一B第二、A第二B第一、AB并列。现在给你马的数量,问有几种可能的名次存在。链接:题目在这里题目思路: 这个用递推还是比较明显的,现在我们知道两匹马的结果是3,那么如果多了一匹马呢?这匹马将会给结果带来什么改变?可以知道:当第三匹马过来时,他可能使得这群马产生了新的名次,也可...原创 2018-08-04 16:22:39 · 141 阅读 · 0 评论 -
SCU - 1114 数字三角(dp)
题目思路:戳我戳我 这是一道dp的模板题,状态转移方程很容易想,唯一需要注意的就是怎么把路径打印出来: 因为我们dp的时候其实是在递归的,此时我们并不知道选择了下一层的哪个数字,可以考虑在dp的时候把每一层到底层的最大值保存在数组res中,这样第i层选择的数字就是res[i]-res[i+1];最后打印出来就好了;结合代码进行比较详细的说明。题目代码:#include...原创 2018-08-04 16:41:06 · 248 阅读 · 0 评论 -
POJ - 1458 Common Subsequence (最大公共子序列)
题目大意:戳我戳我 给你两串字符串,求出他们最大的公共子序列长度(不一定要连续),例如:abcfbc 和 abfcab,他们的最长公共子序列是abcb,长度为4;题目思路: 考虑dp的思想,我们用dp[i][j]来表示长度为i的字符串a和长度为j的字符串b的最长公共子序列,令i指向a的某一位,j指向b的某一位,对于i和j,有三种情况:此时a[i]==b[j],那么dp[i+1]...原创 2018-08-04 17:02:36 · 139 阅读 · 0 评论 -
LIS最长上升子序列(线性上的DP)总结
求最长上升子序列问题如下: 给定n个整数a1,a2,a3……an,按从左到右的顺序选出尽量多的整数,组成一个上升子序列。例如序列1,6,2,3,7,5,可以选出的最长的上升子序列是1,2,3,5;分析: 对于线性结构上的dp,我们常常设以某个点结尾能达到的最大/小值; 那么我们可以设dp[i]为以i结尾的最长上升子序列的长度,当到i+1的时候,如果这一位的...原创 2018-08-04 19:29:35 · 1123 阅读 · 0 评论 -
CodeForces - 5C Longest Regular Bracket Sequence(dp)
题目大意:看题目点我 题目给你一串由‘( ’和‘ )’组成的序列,其中如果可以在这些半括号之间插入+和1使他们变成一个合法的数学表达式的话,就称这串序列是合法的,问题目中给你的这串序列其中的合法序列最长为多少,有几个这样的最长序列?题目思路: 首先我们分析题目中所说的合法序列是什么,我们知道:1+1其实也是一个数学表达式,那么我们就可以知道,题目中描述的合法序列其实...原创 2018-08-04 20:25:28 · 116 阅读 · 0 评论 -
POJ - 1949 Chores (拓扑+dp)
题目大意:题目在这里 农民John需要做一些家务,有些家务是需要昨晚另一些之后才能做的,每个家务要花费相应的时间,没有约束关系的家务可以同时做,问你做完这些家务最少需要多久。题目思路: 看完题目后我第一反应:这不是拓扑排序吗?!但是看了大神同学的代码后只能感叹:dp的代码是真的简洁啊!其实也并不算是真正的dp吧,但是用了前面算出来的dp值,有点递推的感觉(好吧,递推和dp似...原创 2018-08-04 21:27:18 · 191 阅读 · 0 评论 -
UVALive - 3942(字典树+DP)
题目大意:题目链接 给出一个字符串s和若干个单词,统计出有多少种方法把字符串拆分成这些单词。题目思路:用 dp [ i ] 表示从s的第i位开始的字符串的分解方案数目。初始化dp [ len + 1 ] = 1,用于末尾的dp[ len ] 状态转移;我们从字符串的第 i 位出发,一直往后跑字典树;如果跑到第j位时找到了一个单词,说明从i到j 可以划分成一个单词,...原创 2018-08-09 21:25:10 · 227 阅读 · 0 评论 -
字符串Hash总结模板
字符串匹配 感觉用字符串hash 可以水过很多字符串匹配的问题,(KMP太头疼了)实现方法: 计算子串的hash值,在长串中从第一位开始,往后延伸到和子串同样长度,然后算出这段字符的hash值,看是否和子串的hash值相等。题目链接 模板#include<iostream>#include<cstri...原创 2018-08-09 21:48:19 · 197 阅读 · 0 评论