题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2577
题意:给一串只含大小写字母的字符串,问从键盘打出这个字符串最小需要按多少次按键?(可用Shift和Cap lock,初始Cap lock是关闭的,最终的状态Cap lock也必须是关闭的)
思路:利用DP可以很方便地解决。
dp[i][]表示打印完第i个字符最少需要的按键次数。
dp[i][0]时表示打印完第i个字符Cap lock是关闭的。
dp[i][1]时表示打印完第i个字符Cap lock是开启的。
很容易得出状态转移方程。
具体:
第i个字母是大写:
第i个字母是小写:
原文:http://www.cnblogs.com/byluoluo/p/3525002.html