/*
* Author: johnsondu
* Time : 2013-5-1
* problems: HDU 2577 how to type
* url: http://acm.hdu.edu.cn/showproblem.php?pid=2577
* stratege: dynamic programming
*/
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std ;
#define N 105
#define min(x, y) (x < y ? x : y)
char str[N] ;
int dp[2][N] ;
int main()
{
int tcase ;
//freopen ("data.txt", "r", stdin) ;
scanf ("%d", &tcase) ;
while (tcase --)
{
scanf ("%s", str) ;
int len = strlen (str) ;
memset (dp, 0, sizeof (dp)) ;
if (str[0] >= 'a' && str[0] <= 'z') //initialize, 0 stands for caplocks off, 1 up
dp[0][0] = 1, dp[1][0] = 3 ;
else dp[0][0] = 2, dp[1][0] = 2 ;
for (int i = 1; i < len; i ++)
{
if (str[i] >= 'a' && str[i] <= 'z') //DP
{
dp[0][i] = min (dp[1][i-1] + 2, dp[0][i-1] + 1) ;
dp[1][i] = min (dp[0][i-1] + 3, dp[1][i-1] + 2) ;
}
else
{
dp[1][i] = min (dp[1][i-1] + 1, dp[0][i-1] + 2) ;
dp[0][i] = min (dp[1][i-1] + 3, dp[0][i-1] +2) ;
}
}
int ans = min (dp[0][len-1], dp[1][len-1] + 1) ;
printf ("%d\n", ans) ;
}
return 0 ;
}
相关推荐
【STC8G1K08A串口使用】
STC8G1K08A串口打印“Hello world”
hdu 2577 How to Type--记忆化搜索
题目意思不难理解。注意点就是 caslock开启后 安shift+字母键可写出小写。 这里主要就是 在何时开启caslock键和关闭caslock键。 所以我们设 d[i][caslock]表示 caslock键在第i个字符时的状态是caslock(未开启为0,开启为1)时,打完后序字符所需要的按键次数。 则根据当前是否是 小写字母 和打完之后是否关闭caslock键来决定状态的转移。转
FPGA+滨淞CCD实战:手把手教你搭建S7031/S10142成像电路(附避坑指南)
本文详细介绍了使用FPGA驱动滨淞CCD传感器(S7031/S10142)构建高精度成像系统的完整实战流程。内容涵盖核心器件选型、系统架构规划、电路板(焦面板与接口板)设计要点、FPGA Verilog逻辑实现,并提供了从电源管理、信号调理到数据采集的详细避坑指南,帮助读者从零搭建稳定可靠的成像电路。
HDU2577 How to Type
How to Type Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6211 Accepted Submission(s): 2804 Problem Description Pirates have f
HDMI与DisplayPort混搭方案:如何用Xilinx Video PHY Controller实现多协议视频接口转换
本文详细解析了如何利用Xilinx Video PHY Controller IP核实现HDMI与DisplayPort协议转换,涵盖混合视频接口架构设计、GT收发器动态重配置策略及跨协议时钟域处理方案。通过实战案例和配置技巧,帮助开发者构建高性能多协议视频转换系统,适用于医疗影像、工业控制等场景。
EML 全面实践指南:把 SAP RAP 业务对象玩出工程化的稳定与优雅
本文面向掌握ABAP基础、正在实施RAP的开发者,深入讲解EML(Entity Manipulation Language)的核心用法。文章围绕READ ENTITIES、MODIFY ENTITIES、COMMIT ENTITIES三大语句,详细解析其语义、类型体系、事务机制及工程实践。重点内容包括:字段裁剪、派生类型、草稿控制、批量更新、事务缓冲与保存序列等关键技术点,并配合真实案例代码。旨在帮助开发者在SAP ABAP On-Premise和BTP环境中构建可维护、可演进的业务对象访问层,同时避免常见
HDU2577 How to Type【DP】
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2577 题目大意: 给你一个仅仅包括大写和小写字母的字符串,如今Pirates要从键盘上输出它。按CapsLk可开 启关闭大写和小写指示灯。按Shift可转换将输入字母的大写和小写而不改变CapsLk的开关状态。Pirates有 一个坏习惯,假设输入的时候Cap...
手眼标定----眼在手上(eye-in-hand)
@TOC 标定之前你可以先拿个怡宝盖子进行测试。 第一步:打开halcon,采集,然后生成代码,显示十字架 第二步:把怡宝盖子放在十字架中心位置,在图像处理,找到怡宝盖子 第三步:找到怡宝盖子然后进行九点标定(眼在外帖子有讲),移动机器手然后分别拍9次照片,记录怡宝盖子坐标和当前机器坐标。这里移动到中心位置的时候记录一下单独记录一下坐标,等下要用。 顺序 第四步:拍完后利用vector_to_hom_mat2d算子求出矩阵,然后在利用write_tuple (HomMat2D, ‘路径’)进行保存。这里
hdu2577 How to Type dp
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2577 一道挺有意思的dp题 主要就是有两个二维数组存放两个状态吧 大写和小写 dp[i][j] j就代表打完这个字之后的状态 #include<bits/stdc++.h> using namespace std; #define ll long long in...
自顶向下与自底向上编程思想的对比
一、核心定义与本质差异自顶向下编程思想如同绘制一幅完整的地图,从整体轮廓逐步细化到局部细节。其本质是从系统的整体目标出发,通过逐层分解将复杂问题简化为可实现的子问题,强调先定义 “做什么”,再考虑 “如何做”。自底向上编程思想则类似于搭建积木,从基础组件开始逐步构建复杂系统。其本质是从现有资源和基础功能出发,通过组合和扩展简单组件来实现复杂功能,强调先解决 “如何做” 的细节,再整合为 “做什么” 的整体。二、设计起点与逻辑流程对比设计起点:以系统的整体目标和业务需求为起点。例如设计一个电商平台,首先明确
YOLOv8改进,YOLOv8添加可变性卷积DCNv2
DCNv2对原始的DCNv1进行了改进,可变形卷积网络的卓越性能源于其适应对象几何变化的能力。通过对其自适应行为的检查,虽然对其神经特征的空间支持比常规的ConvNets更接近于对象结构,但这种支持可能远远超出感兴趣区域,导致特征受到不相关图像内容的影响。为了解决这个问题,我们提出了一种可变形卷积网的重新表述,通过提高建模能力和更强的训练,提高了其专注于相关图像区域的能力。通过更全面地集成网络中的可变形卷积,并引入扩展变形建模范围的调制机制,增强了建模能力。
hdu 2577 How to Type
http://acm.hdu.edu.cn/showproblem.php?pid=2577 关键是处理好边界 dp方程见代码: #include #include #include #include #include #include #include #include #include #include using namespace std; int on[10
*手把手教你学 Simulink——压缩机用永磁同步电机无位置传感器 I‑F 启动(Sensorless I/F Starting)控制仿真
dtdi^αzαe^αω^θ^=Ls1(−Rsi^α+usα−zα)=K⋅sign(i^α−iα)=zα+Kpll⋅(i^α−iα)同理 β=PLL(e^α,e^β)=∫ω^dt。给定 Id=Iset, Iq=f(θopen)按设定 fstart(t)Iq=k⋅sin(θopen)投影 → 恒幅 Is=Id2+Iq2。 将 Id,Iq→ Iα,Iβ→ SVPWM。Id=Ialign(弱对齐 → 防抖动)
hdu2577——How to Type
How to Type Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3920 Accepted Submission(s): 1800 Problem Description Pirates have finis
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
HDU 2577 How to Type(模拟)
题意 给你一个由大写字母和小写字母组成的字符串 模拟键盘输入的最少按键次数 直接模拟每个字符的输入 flag表示capslock的状态 1表示打开 0为关闭 开始是和输入完毕都是关闭的关闭的 用plu记录shift和capslock的按键次数 当接下来输入的字母有连续n个跟capslock状态不同时 分析可只 只有n=1时适合用shift键 如flag=1 n=1 输入a时 shift+a=2 而capslock+a+capslock=3 n>=2 如输入ab是 shi
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
hdu2577 How to Type
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2577 题解:dp[i][0]存放当前是小写状态,dp[i][1]存放当前是大写的状态。 小写字母可在caps lock不亮时打出,也可在caps lock亮时,按shift打出 大写字母可在caps lock亮时打出,也可在caps lock不亮时,按
HDU 2577 How to Type
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2577 思路:动态规划(dp) 令a[i]为输入第i个字符后CapsLock打开状态,b[i]关闭;则有如下: 1)若第i个字符为小写
【HDU 2577】How to Type
题意 (我做了这题才知道caps lock 锁定大小写后,按一下shift键可以输入相反的大小写。) 这题就是给你只有大小写字母的字符串,求最少多少次按键盘。最后caps lock 必须是关闭的。 分析 这题可以模拟也可以dp。 代码 模拟 #include<cstdio> #include<cstring> int t,on,i,ans...
HDU-2577 How to Type || HDU-2845 Beans
题目: 2道类型相似的dp。 HDU-2845 Beans: 题意: 给出一个二维数字矩阵,其中每个点存放着豆子,求出能够吃到的最大豆子数 要求:每吃一个格子里的豆子,这个格子两边的两格和上下两行都不能吃了。 思路: 每个点都只有吃或不吃两种状态,两个数组分别储存吃与不吃该点时的最优解。 求出每一行的最优解之后看作一列求整体最优解。 代码: #defin
How to Type HDU - 2577
How to Type HDU - 2577题意:求敲出一串只包含大小写字母的字符串最少敲击键盘次数;caps lock键控制大小写, 灯亮是大写输入法, 反之是小写输入法;用二维数组dp[i][j],i取0, 1;0表示灯灭, 1表示灯亮,...
hdu 2577:How to Type(动态规划(dp))
hdu 2577:How to Type(dp) 题目链接:hdu 2577 Problem Description Pirates have finished developing the typing software. He called Cathy to test his typing software. She is good at thinking. After testing f...
HDU 2577.How to Type
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2577 AC代码(C++): #include #include #include #include #include #include #include #include #define INF 0x3f3f3f3f #define eps 1e-8 typedef un
1万+



被折叠的 条评论
为什么被折叠?



