暑期dp46道(36)--HDOJ 2577
来源:互联网 发布:nvh有限元软件 编辑:程序博客网 时间:2024/05/01 09:30
题目链接:HDOJ 2577
题意:打出所给的字符串,大小写都有,并且最终Caps Lock 要关闭,求最少的按键数
题解:简单的dp方程,考虑Caps Lock on 和in的情况dp就可
代码:
#include<cstdio>#include<queue>#include<cstring>#include<string>#include<stack>using namespace std;#define M(a) memset(a,0,sizeof(a))#define Max(a,b) ((a>b)?a:b)#define Min(a,b) ((a<b)?a:b)#define debug 0const int maxn = 100 + 5;char str[maxn]; int word[maxn];int dp[maxn][2];void Do(){int len = strlen(str);for (int i = 1; i <= len; i++)if (isupper(str[i - 1]))//判断大小写word[i] = 1;int num;if (word[1])//初始化第一个字符type{dp[1][0] = 2;//dp[i][0]表示在Caps Lock关的状态情况打出第i个字符的最优解dp[1][1] = 2;//dp[i][1]表示在Caps Lock开的状态情况打出第i个字符的最优解}else{dp[1][0] = 1;dp[1][1] = 3;}for (int i = 2; i <= len; i++){if (word[i]){dp[i][0] = Min(dp[i - 1][0] + 2, dp[i - 1][1] + 3);//注意上一状态Caps Lock要先转Caps Lock再typedp[i][1] = Min(dp[i - 1][0] + 2, dp[i - 1][1] + 1);}else{dp[i][0] = Min(dp[i - 1][0] + 1, dp[i - 1][1] + 2);dp[i][1] = Min(dp[i - 1][0] + 3, dp[i - 1][1] + 2);}}printf("%d\n", Min(dp[len][0], dp[len][1] + 1));//最终Caps Lock要关闭}int main(){#if debugfreopen("in.txt", "r", stdin);#endif//debugint T;while (~scanf("%d", &T)){while (T--){M(dp);M(word);scanf("%s", str);Do();}}return 0;}
1 0
- 暑期dp46道(36)--HDOJ 2577
- 暑期dp46道(27)--HDOJ 3008 Warcraft
- 暑期dp46道(37) HDOJ 2844 COINS
- 暑期dp46道(44)--HDOJ 1058
- 暑期dp46道(46)--HDOJ 1069
- 暑期dp46道(5)hdoj 1421 搬寝室s
- 暑期dp46道(6)抢劫Robberies ——HDOJ 2955
- 暑期dp46道(10)HDOJ 2602 Bone Collect 01背包
- 暑期dp46道(21)HDOJ 2059 龟兔赛跑
- 暑期dp46道(22)--HDOJ 1158 Employment Planning
- 暑期dp46道(25)--HDOJ 1300 Pearls
- 暑期dp46道(30) HDOJ 1227 Fast Food
- 暑期dp46道(33)--HDOJ 1176 免费馅饼 类树塔:
- 暑期dp46道(34)--HDOJ 1203 01背包
- 暑期dp46道(35)--HDOJ 2159 FATE 背包问题
- 暑期dp46道(39)--HDOJ 2870 最大子矩阵面积...
- 暑期dp46道(42)--HDOJ 1789 Doing Homework again 贪心
- 暑期-dp46道(2)
- 最短路~dijkstra堆优化模板
- Window查看apache的版本
- Linux多线程中使用信号-1
- 链式编程初试
- 解决批量mysqldump没法用通配符的问题
- 暑期dp46道(36)--HDOJ 2577
- centOS系统安装g++
- Python快速学习第七天
- Android Circular Progress Button
- android:inputType="常用取值"
- shiro安全框架的使用
- Java中的static关键字解析
- MySQL导出DUMP命令备忘
- Jmeter之逻辑控制器(Logic Controller)