摘要: 感觉这道dp题还是有点技巧的,此题设置了两个数组:open[]和close[],分别用来记录capslock一直开启状态和一直关闭状态下的最少输入次数。此时只要判断字母的大小写,选用最优子结构即可。状态转移方程为:str[i]是小写字母: open[i]=min(open[i-1]+2,close[... 阅读全文
posted @ 2015-04-09 20:21 Run_For_Love 阅读(134) 评论(0) 推荐(0)
摘要: 简单的dp,最优子结构是dp[i],即从0~i来看,是的dp[i]最大,然后找到最大中的最大就可以了,转移方程是:dp[i]=max{dp[i],dp[j]+value[i]},注意这里有两个判断条件。#include"iostream"#include"stdio.h"#include"strin... 阅读全文
posted @ 2015-04-09 17:49 Run_For_Love 阅读(118) 评论(0) 推荐(0)
摘要: 入门级动态规划#include"iostream"#include"string.h"#include"stdio.h"using namespace std;#define mx 1010int value[mx],v[mx];int dp[mx];int max(int a,int b){ ... 阅读全文
posted @ 2015-04-09 11:04 Run_For_Love 阅读(138) 评论(0) 推荐(0)
摘要: 做这题之前建议做一下hdu1506题,两道题是极度相似的题,不同的是这个要处理的是m行,所以可以用一个dp[][]数组存储矩形的高度,之后就变成hdu1506了。例如测试样例:0 1 1 1 1 1 0 1 1 1 1 11 1 1 1 1 1 (F=1,R=0,方便求和) 1 2 2 2 2... 阅读全文
posted @ 2015-04-09 10:51 Run_For_Love 阅读(117) 评论(0) 推荐(0)