[HDU 2577 How to Type]DP

STM32C5轮询读取LSM6DSVE陀螺仪I²C实战指南 I²C通信是嵌入式系统中连接MCU与惯性传感器的核心协议,其可靠性直接决定姿态感知精度。理解I²C物理层信号完整性、时序约束与寄存器级交互原理,是实现确定性数据采集的基础技术能力。在实时性敏感场景(如电机控制、激光振镜、PLC反馈环)中,轮询模式凭借零中断延迟、无上下文开销和强时序可控性,展现出比中断更优的工程适配性。本文聚焦STM32C5系列MCU与LSM6DSVE六轴IMU的I²C轮询集成,深入解析上拉电阻精准计算、EMC滤波设计、地址匹配优化及DRDY状态驱动的数据就绪机制,覆盖从硬件选型、PCB布局 阅读详情

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2577

How to Type

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5003    Accepted Submission(s): 2248


Problem Description
Pirates have finished developing the typing software. He called Cathy to test his typing software. She is good at thinking. After testing for several days, she finds that if she types a string by some ways, she will type the key at least. But she has a bad habit that if the caps lock is on, she must turn off it, after she finishes typing. Now she wants to know the smallest times of typing the key to finish typing a string.
 

Input
The first line is an integer t (t<=100), which is the number of test case in the input file. For each test case, there is only one string which consists of lowercase letter and upper case letter. The length of the string is at most 100.
 

Output
For each test case, you must output the smallest times of typing the key to finish typing this string.
 

Sample Input
  
3 Pirates HDUacm HDUACM
 

Sample Output
  
8 8 8
Hint
The string “Pirates”, can type this way, Shift, p, i, r, a, t, e, s, the answer is 8. The string “HDUacm”, can type this way, Caps lock, h, d, u, Caps lock, a, c, m, the answer is 8 The string "HDUACM", can type this way Caps lock h, d, u, a, c, m, Caps lock, the answer is 8
 

Author
Dellenge
 
老实说,第一眼看不出这是dp题,知道这是dp是因为这是从dp专题里看到的。。。

这题有点类似15年的一题多校赛,该题的题解链接  http://blog.youkuaiyun.com/chenninggo/article/details/48210123

同样的道理,每一个字母输入完后都会2种状态,开着大写键和关着大写键,那么就用dp记录开着大写键的步数和关着大写键的步数。

有一个注意的地方,当开着大写键时,按下shift键和输入的字母,是可以输出小写字母的

代码如下

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int t, i;
int op[110], cl[110];
char cc[110];
int main()
{
//	freopen("input.txt", "r", stdin);
	scanf("%d", &t);
	while (t--)
	{
		memset(op, 0, sizeof(op));
		memset(cl, 0, sizeof(cl));
		memset(cc, 0, sizeof(cc));
		scanf("%s", cc + 1);
		op[0] = 1;   //在未输入的时候就已经按下了大写键,所以初始步数位1
		cl[0] = 0;
		for (i = 1; cc[i] != 0; i++)
		{
			if (cc[i] >= 'a' && cc[i] <= 'z')
			{
				cl[i] = min(op[i - 1] + 2, cl[i - 1] + 1);
				op[i] = min(op[i - 1] + 2, cl[i - 1] + 2);

			}
			else if (cc[i] >= 'A' && cc[i] <= 'Z')
			{
				cl[i] = min(op[i - 1] + 2, cl[i - 1] + 2);
				op[i] = min(op[i - 1] + 1, cl[i - 1] + 2);
			}
		}
		printf("%d\n", min(cl[i - 1], op[i - 1] + 1));  //因为最后的状态是关着大写键的,所以op数组要+1,表示最后一个字母输入完后关闭大写键
	}
	return 0;
}


RAG——RAG 索引(文档解析技术) 本文介绍了RAG系统中文档解析的关键技术,重点分析了如何通过LangChain的Document Loaders处理多种格式文档。文章指出高质量文档解析对RAG系统效果的决定性作用,并详细讲解了PDF、TXT、Word等常见格式的解析方法。作者提供了代码示例和Gitee开源项目链接,特别强调了PDF解析的深入方案,同时介绍了相关依赖库的安装配置。文章还展示了如何定义通用文档加载方法,为开发者提供了实用的技术参考。 阅读详情

相关推荐

Computers & Security 投稿实战:从零到一详解避坑指南

本文详细解析了向《Computers & Security》投稿的全流程避坑指南,包括ORCID账号注册、文件格式统一、Editorial Manager®系统操作技巧等关键步骤。特别强调了cover letter撰写、Declaration of Interest Statement准备以及PDF生成后的检查要点,帮助研究者高效完成投稿流程。

weixin_29228203的博客 675

HDU2577 How to Type【DP】

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2577 题目大意: 给你一个仅仅包括大写和小写字母的字符串,如今Pirates要从键盘上输出它。按CapsLk可开 启关闭大写和小写指示灯。按Shift可转换将输入字母的大写和小写而不改变CapsLk的开关状态。Pirates有 一个坏习惯,假设输入的时候Cap...

diandingyin9417的博客 160

第4课 SiC MOSFET的动态特性——关断过程

本文分析了SiC MOSFET的关断过程,将其划分为四个阶段:栅源电容放电阶段(t6-t7)、米勒平台阶段(t7-t8)、电压过冲阶段(t8-t9)和换流结束阶段(t9-t10)。通过等效电路详细描述了各阶段的电压电流变化特点。同时探讨了MOSFET的极间电容特性,包括输入电容Ciss、输出电容Coss和反向转移电容Crss,分析了它们对器件开关速度、损耗及电压变化速率的影响。研究指出这些非线性电容会显著影响器件的动态性能。

嵌入式老牛的博客 1045

hdu2577 How to Type dp

题目链接    http://acm.hdu.edu.cn/showproblem.php?pid=2577 一道挺有意思的dp题 主要就是有两个二维数组存放两个状态吧 大写和小写 dp[i][j]   j就代表打完这个字之后的状态   #include&lt;bits/stdc++.h&gt; using namespace std; #define ll long long in...

甦萌的博客 185

模型预测控制(MPC)解析(二):单输入单输出系统

在上一篇中,为了便于说明,预测控制系统采用单输入单输出系统为例进行设计。由于系统模型使用的是状态空间方程,于是可以很容易的将这种设计方法可以扩展到多输入、多输出系统。

行者无疆的博客 8223

【个人学习总结】CRC校验原理及实现

CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 ..................

星Yeah 的博客 7967

HDU 2577 How to Type (dp,思维)

How to TypeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7130 Accepted Submission(s): 3222Problem Description Pirates have finished devel

南风古 5893

国产上位机软件突围:适配统信UOS/麒麟OS的跨平台开发技术与实践(2026年信创实战指南)

(航天科技集团CTO):“在信创战场上,1ms的延迟意味着1个卫星的控制失效。2026年,C#/.NET MAUI不是选择,而是我们守护卫星的‘生命线’。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 412

HDU 2577 How to type DP

import java.util.*; public class Hdu2577_dp { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); while(t--&gt;0) { String str = sc.next(); ...

weixin_42246923的博客 159

第3.1.3章 机器人第三方库实战总结:ROS 2 入门实战及和ROS1的对比,打通机器人开发的任督二脉

本文针对机器人SLAM开发中第三方库的学习痛点,重点介绍ROS 2在SLAM中的应用。文章首先对比ROS 1与ROS 2的核心差异,梳理ROS 2知识图谱,包括节点、话题、服务等核心概念。通过实战项目演示如何构建激光SLAM节点,结合代码详解运行流程。最后给出学习建议,强调动手实践的重要性,帮助开发者快速掌握ROS 2在SLAM开发中的关键应用。

行知SLAM 180

YOLOv8改进策略【Backbone/主干网络】| 2023 U-Net V2 替换骨干网络,加强细节特征的提取和融合

一、本文介绍 本文记录的是基于U-Net V2的YOLOv8目标检测改进方法研究。本文利用U-Net V2替换YOLOv8的骨干网络,UNet V2通过其独特的语义和细节融合模块(SDI),能够为骨干网络提供更丰富的特征表示。并且其中的注意力模块可以使网络聚焦于图像中与任务相关的区域,增强对关键区域特征的提取,进而提高模型精度。本文配置了原论文中pvt_v2_b0、pvt_v2_b1、pvt_v2_b2、pvt_v2_b3、pvt_v2_b4和pvt_v2_b5六种模型,以满足不同的需求。 文章目录一、本文

Limiiiing的博客 1721

HDU2577:How to Type(DP)

题目: Pirates have finished developing the typing software. He called Cathy to test his typing software. She is good at thinking. After testing for several days, she finds that if she types a string by ...

No Pain, No Gain . 267

CloudCompare 二次开发(17)——点云添加均匀分布的随机噪声

使用CloudCompare编程实现点云添加随机噪声。

点云侠的博客 840

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...

serendipity的博客 247

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HDU 2577 How To Type DP

哈哈~这题秒掉了,总的来说这些天的DP苦修还是有点成果的。哇哈哈哈。 做题过程大概是这样的,前几天看了下这题,完全不敢切,果断的没思路。今天再一看,在纸上用笔演练了下,发现基本上能推出公式了。呵呵,蛮好玩的么,DP,虽然只是道水题,但是也说明了我在进步啊~ 哈哈哈 #include #include #include using namespace std; int min( int a,i

Bysen32 789

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HDU 2577 How to Type DP

题意:输入一个字符串,要求只能用Caps键和Shift键,问最少的击键次数是多少?思路:dp[i][2] 表示 输入到第i个字符时Caps亮或者暗的最少步数,dp[i][0] 代表Caps键是暗的,dp[i][1]代表Caps键是亮的。dp方程代码中有解释。 http://acm.hdu.edu.cn/showproblem.php?pid=2577 /*********************

NM的专栏 503

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

hdu 2577 How to Type 经典DP

传送门:hdu 2577 How to Type题目大意给你一些字符串a~z||A~Z,然后我们按键最少能把他们都打出来,如果开始Cap大写灯是亮的,我们需要打a的话,可以按下cap键,然后再按a,需要两步,但是这下状态变为了大写灯亮,当然我们也可以按下shift,再按下a,需要两步,但是这下状态就变成了大写灯灭。题目要求的是,把这些字母打出来需要的最小按键数目。有一点需要注意,按键完成之后需要使c

woshinannan的专栏 439

HDU 2577 How to Type(dp)

题目链接:HDU 2577 How to Type dp。 notlock[i]表示type第i个字母后大写锁定键为关闭状态的最少type次数,lock[i]表示type第i个字母后大写锁定键为开启状态的最少type次数。 状态转移方程: s[i]为大写字母: lock[i] = min(lock[i - 1] + 1,notlock[i - 1] + 2); notlock[i] =

fobdddf的专栏 559

hdu 2577 How to Type dp

题目链接 题意: 给你一些字符串a~z||A~Z,然后我们按键最少能把他们都打出来,如果开始Cap大写灯是灭的,我们需要打A的 话,可以按下cap键,然后再按a,需要两步,但是这下状态变为了大写灯亮,当然我们也可以按下shift,再按下a, 需要两步,但是这下状态就变成了大写灯灭。题目要求的是,把这些字母打出来需要的最小按键数目。有一点需要注意 ,按键完成之后需要使cap键关闭。 思路

Marcus-Bao的个人主页 804

HDU-2577 How to Type DP

字符输入问题,刚开始没有考虑到shift+字符输入和当前大小写锁定状态相反状态字符只需要两步的问题。 状态转移方程:dp1[i]表示输入完第i个字符后为大写状态需要的步数 dp2[i]表示输入完第i个字符后为小写状态所需要的步数 如果第i个字符为小写: dp1[i]=min(dp1[i-1]+2,dp2[i-1]+2); dp2[i]=min(dp1[i-1]+2,dp2[i-1]+1);

聂小白的专栏 778

HDU 2577 How to Type (dp)

题目链接:轻点我一下 >3 蛮有意思的一道题 开两个数组一个开灯on 一个关灯的off 然后分别对大小写字母进行决策就好了 需要注意的是最后不要忘记关灯 AC代码如下: // // HDU 2577 How to Type // // Created by TaoSama on 2015-02-08 // Copyright (c) 2014 TaoSama. All rig

TaoSama's Microcosm 510

HDU 2577 How to Type DP也可以模拟

大家都打过字吧,现在有个有趣的问题:给你一串字符串,有大写有小写,要求你按键次数最少来输出它,输出按键次数。 大写字母可以通过caps lock 也可以用shift得到,小写也是。 但是起始状态和最后caps lock都是不锁定的。 求最少的按键次数。 不用DP的方法: 当有

细语呢喃 1199

【DP|水】HDU-2577 How to Type

输入一个仅有大小写字母的字符串,打字的时候通过CapsLock键和Shift键来输入,求最少敲键次数。如果最后CapsLock是on的话还要关掉它。

JSure的代码库 867

HDU 2577 How to Type (DP)

How to Type Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4074Accepted Submission(s): 1858 Problem Description Pirates have finish...

116

HDU 2577 How to Type 简单dp

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2577题意:给出一个只含有大小写字母的字符串,求用键盘打出这串字符需要的最少敲击次数思路:定义dp[0][i]为小写状态下敲击完第i个字母时最小敲击次数,dp[1][i]为大写状态下敲击完第i个字母时最小敲击次数。很容易可以找出转移方程#include <bits/stdc++.h> using namesp

弱智就要多努力 522
上一篇: [HDU 2159 FATE] 费用背包
下一篇: [HDU 5375 Gray code] 15多校赛DP
chenningGo
博客等级 码龄11年 1粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值