2011轻工校赛 E 懒人
2011-05-03 12:30
363 查看
http://acm.zzuli.edu.cn/showproblem?problem_id=1481
当时我没想出来好办法,直接拿搜索过了,比完后听说可以用DP,btw在轻工oj上用DP过了,今天上午上软工课,突然想起来了,用DP想了想,其实就两种状态,cap按下和不按,然后想了想,刚写了写,居然过了~~(*^__^*) 嘻嘻……
每一个字母与前一个字母的状态有关系,看代码很容易就看懂啦~~
当时我没想出来好办法,直接拿搜索过了,比完后听说可以用DP,btw在轻工oj上用DP过了,今天上午上软工课,突然想起来了,用DP想了想,其实就两种状态,cap按下和不按,然后想了想,刚写了写,居然过了~~(*^__^*) 嘻嘻……
每一个字母与前一个字母的状态有关系,看代码很容易就看懂啦~~
#include <queue> #include <stack> #include <math.h> #include <stdio.h> #include <stdlib.h> #include <iostream> #include <limits.h> #include <string.h> #include <algorithm> using namespace std; int main() { char str[105]; int dp[2][105];// dp[0] 小写锁定 dp[1] 大写锁定 while( ~scanf("%s",str) ) { dp[0][0] = 0; dp[1][0] = 1; int len = strlen(str); for(int i=0; i<len; i++) if( islower(str[i]) ) { dp[0][i+1] = min(dp[0][i]+1,dp[1][i]+2); dp[1][i+1] = min(dp[0][i]+2,dp[1][i]+2); } else { dp[0][i+1] = min(dp[0][i]+2,dp[1][i]+2); dp[1][i+1] = min(dp[0][i]+2,dp[1][i]+1); } printf("%d/n",min(dp[0][len],dp[1][len])); } return 0; }
相关文章推荐
- 北大校赛2011 Word Ladder(C题) 解题报告
- 2011校赛决赛简短总结
- SYSU/ICPC 2011校赛总结
- scau 2011 校赛 10311 List Expression
- SCAU 2011 校赛 10307 Trees and Numbers
- 沃尔沃携全系车型亮相2011大连国际车展
- 【BZOJ2298】【HAOI2011】problem a 动态规划
- 【bzoj2338】[HNOI2011]数矩形 计算几何
- 2011阿里巴巴程序设计公开赛 / 1001 Coin Game
- 浙江大学2015年校赛B题 ZOJ 3861 Valid Pattern Lock
- 【Noip2011】选择客栈
- 8/19/2011 10:40:41 AM
- BZOJ 2280 Poi2011 Plot 二分答案+随机增量法
- 【bzoj4710】[Jsoi2011]分特产 容斥原理+组合数学
- 【转】Lifehacker 2011 最佳Android应用软件
- FJNU校赛I题(dfs)
- 【bzoj2529】[Poi2011]Sticks 贪心
- 云计算2011动态要闻
- 华为OJ2011-最长公共子串
- 2324: [ZJOI2011]营救皮卡丘