动态规划之简单递推——hdu2577
来源:互联网 发布:淘宝xbox手柄 编辑:程序博客网 时间:2024/05/16 15:34
题目描述:
给出一个字母序列,从非大写锁定状态开始,敲完这个字母串,以非大写锁定状态结束,问最少按键盘的次数。
大致思路:
状态很好判断,定义dp[i][1]和dp[i][0]分别表示完成前i位键盘处于大写锁定状态和非大写锁定状态的最少操作次数。然后每次计算的时候从dp[i-1][0]和dp[i-1][1]转移即可。
代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int dp[110][2];int main() { int T; cin>>T; while (T--) { char a[110]; scanf("%s",a); memset(dp,0,sizeof(dp)); dp[0][1] = 1; int l = strlen(a); for (int i = 0; i < l; i++) { if (a[i] <= 'z' && a[i] >= 'a') { dp[i+1][0] = min(dp[i][0]+1,dp[i][1]+2); dp[i+1][1] = min(dp[i][1]+2,dp[i][0]+2); } else { dp[i+1][0] = min(dp[i][0]+2,dp[i][1]+2); dp[i+1][1] = min(dp[i][0]+2,dp[i][1]+1); } } cout<<min(dp[l][0],dp[l][1]+1)<<endl; }}
0 0
- 动态规划之简单递推——hdu2577
- HDU2577——How to Type 动态规划
- 动态规划HDU2577
- 动态规划----递推
- 动态规划/递推
- 动态规划之简单递推(HDU2041,HDU2044,HDU2045,HDU2046,HDU2047)
- HDU2577 How to Type (动态规划)
- HDU2577[How to Type] 动态规划
- 动态规划 递推三角形
- 递推等价-动态规划
- PKU1163--动态规划与递推之数塔问题
- 动态规划 问题之数字三角形(倒序递推)
- 动态规划+之基础递推+noj三角形
- 动态规划与递推——动态规划是最优化算法 ( 转自2004chen)
- 动态规划——数字三角形(递归or递推or记忆化搜索)
- 基础动态规划题 火车站(上车下车)——递推
- 【转】数字三角形-递推-动态规划
- 递归,递推,分治,贪心,动态规划......
- PHP 运算符
- 补间动画实例(Animation)
- 通过javap指令解释a=a++问题
- 开源IM-免费企业即时通讯-恩布互联Entboost 1.5发布
- Android自定义控件系列一:Android如何实现老版优酷客户端三级环形菜单
- 动态规划之简单递推——hdu2577
- Lync Server 2010安装准备(二)——后端服务器的配置
- 第十一周项目二——最大公约数
- 第十一周项目6--素数
- 云计算设计模式(二十一)——Sharding分片模式
- Android调用webService前需要知道的几个名词。。
- android ctrl + 鼠标左键直接打开xml或Activity
- 第11周项目6-素数、回文-回文素数 改1
- 汉朝“基层公务员”月薪多少