摘要: 原题 题目链接 题目分析 有点难的dp,首先考虑一下对于第i个山坡,要使单调,不是把它改成跟上一个相等就是把它改成跟下一个相等,因此改完后的值肯定是原序列的一个值,首先考虑递增,先把原序列按从小到大排个序,把它当为b[i],然后对于原序列的每个数,考虑将它变为b[i]中的其中一个使得其花费最小,因此 阅读全文
posted @ 2019-08-26 10:01 VBL 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 由题目知,如果能求出连接点的最长递增子序列,则可以把连接不在该序列中的点的线全部剪掉.而维护最长递增子序列可以用dp来做,考虑到相同长度的递增子序列末尾数字越小越好,可以这样定义dp,dp[i]长度为i的递增子序列的最小末尾值,初始化为INF,由于这个dp具有有序性,因此可 阅读全文
posted @ 2019-08-25 19:09 VBL 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 题意很明确,就是要维护单调递增的序列,最后看有多少种单调序列即可,设定一个dp数组,cnt表示数组大小,初始化为0,然后把所有木头从小到大排个序,当遍历到木头i时,如果dp数组里有比木头i还小的,就代替它,否则就dp[cnt++]=木头i,最后cnt就是答案. 代码 阅读全文
posted @ 2019-08-25 16:36 VBL 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 完全背包题,不过需要状压和处理大数,首先定义dp[i][j]为用前i种货币(从1-k),凑出j价格的方案数,dp初始化为0,然后更新有两个方向,第一种显然dp[i][j]+=dp[i-1][j],第二种dp[i][j]+=dp[i-1][j-i]+dp[i-1][j-2i] 阅读全文
posted @ 2019-08-25 14:25 VBL 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 计数dp题,感觉其实也可以用组合数学做,但我太菜了,推不出通用公式.dp可以定义dp[i][j]为前i种选j个蚂蚁有多少种选法,然后递推公式如下,其中c[i]表示第i种的数量, dp[i][j]=Σ(min(j,c[i]),k=0)dp[i-1][j-k].可以化简一下,d 阅读全文
posted @ 2019-08-25 10:41 VBL 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 有点难度的区间dp题,可以这样定义dp[i][j],把s[i-j]变为回文串的最小花费,显然s[i][i]=0,先说一下删除字母和添加字母的处理,因为当s[i-j]是回文串的时候,再往外扩展一个字母有两种方法,一种是删除这个字母,另一种是再添加一个字母,因此输入删除字母和添 阅读全文
posted @ 2019-08-24 18:25 VBL 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 简单dp,很容易想到对于每个区间都只有两个选择,选和不选,因此可以定义一个dp[i],表示在前第i个区间能取得的最大奶量(区间已按起始时间排完序),注意在读入区间时可以直接在末尾时间直接加上R.更新由两个循坏来更新,第一个循环i从头区间遍历到尾区间,第二个循环j从头区间到i 阅读全文
posted @ 2019-08-24 17:07 VBL 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 基础dp题,按照题意很容易给出dp定义,dp[i][j],表示在i时间内,用j次转移机会得到的最大苹果数.dp转移如下,如果j==0,则dp[i][j]=dp[i-1][j],否则 如果当前位置有苹果dp[i][j]=max(dp[i-1][j],dp[i-1][j-1]) 阅读全文
posted @ 2019-08-24 16:23 VBL 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 计数dp,dp[i]定义为i有多少种分解方案,对一个数i,首先如果它是奇数,则它的方案总数与i-1的方案总数相同,因为只需要在i-1的每个分解方案+1即可.如果它是偶数,则i/2的每个分解方案的每个数*2即可得到i,这样得到的i的分解方案是不存在1的(因为*2所以至少为2) 阅读全文
posted @ 2019-08-24 16:12 VBL 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 非常基础的dp题,先把原图存下来,然后在造一个与原图相匹配的dp,dp更新方案如下,如果j==1 则dp[i][j]只能从上一层的dp[i-1][j]更新过来,因此有dp[i][j]=dp[i-1][j],如果j==i,则dp[i][j]只能从上一层的dp[i-1][j-1 阅读全文
posted @ 2019-08-24 15:27 VBL 阅读(114) 评论(0) 推荐(0) 编辑