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布局 阅读详情
题意:输入一个字符串,要求只能用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

/*********************************************
    Problem : HDU 2577
    Author  : NMfloat
    InkTime (c) NM . All Rights Reserved .
********************************************/

#include <map>
#include <set>
#include <queue>
#include <cmath>
#include <ctime>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>

#define rep(i,a,b)  for(int i = a ; i <= b ; i ++)
#define rrep(i,a,b) for(int i = b ; i >= a ; i --)
#define repE(p,u) for(Edge * p = G[u].first ; p ; p = p -> next)
#define cls(a,x)   memset(a,x,sizeof(a))

using namespace std;

const int MOD = 1e9+7;
const int INF = 0x3f3f3f3f;
const int MAXN = 1e5;
const int MAXE = 2e5;

typedef long long LL;

int T,n,m,k;

char a[105];
int dp[105][2]; // 2代表Caps键是亮的还是暗的

void input() {
    scanf("%s",a);
}

void solve() {
    int lena = strlen(a);
    if(a[0] >= 'a' && a[0] <= 'z') {
        dp[0][0] = 1 ; dp[0][1] = 2;
    }
    else {
        dp[0][0] = 2 ; dp[0][1] = 2; 
    }
    rep(i,1,lena-1) {
        if(a[i] >= 'a' && a[i] <= 'z') {
            dp[i][0] = min(dp[i-1][0]+1,dp[i-1][1]+2);//输入。           先灭Caps,后输入。
            dp[i][1] = min(dp[i-1][0]+2,dp[i-1][1]+2);//先输入,后Caps。 shift加输入。
        }
        else {
            dp[i][0] = min(dp[i-1][0]+2,dp[i-1][1]+2);//shift加输入。    输入,灭Caps。
            dp[i][1] = min(dp[i-1][0]+2,dp[i-1][1]+1);//Caps加输入。     输入。
        }
    }
    printf("%d\n",min(dp[lena-1][0],dp[lena-1][1]+1));
}

int main(void) {
    //freopen("a.in","r",stdin);
    scanf("%d",&T);
    while(T--) {
    //while(~scanf("%d %d",&n,&m)) {
        input();
        solve();
    }
    return 0;
}
电磁仿真新手必看:如何用CST Studio Suite 2023完成第一个PCB辐射仿真? 本文详细解析了如何使用CST Studio Suite 2023进行PCB辐射仿真,适合电磁仿真新手快速上手。从工程准备、求解器配置到端口设置和后处理技巧,全面覆盖三维全波电磁场仿真软件的核心操作步骤,帮助工程师精准预测和解决PCB电磁辐射问题。 阅读详情

相关推荐

11-4 AEB 算法原理及系统组成

本专题旨在探讨如何利用仿真软件开发自动紧急制动系统AEB,主要通过整理开发流程,实现从需求到验证的全流程掌握,为后续开发提供支持;同时,研究了如何在汽车自动驾驶仿真工具中开发自己的算法,并解决了从ISO、E-CNAP、GB/T以及交通法规等提炼出功能需求的问题,以快速实现原型模型的开发。本专题重点讲解了AEB的工作原理、系统/软件架构和需求、算法模型及实现、CCRs/CCRb/CCRm建模与仿真、VRU-AEB-B/P/M建模与仿真,同时还提供了测试用例,期待将AEB算法成功地产品化。

AIgraphX 8552

HDU2577 How to Type【DP】

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

diandingyin9417的博客 160

【强化学习】11 —— Double DQN算法与Dueling DQN算法

可以看到由于数据点的分布,使得拟合出的价值函数无法与真实的价值函数吻合,甚至在部分区域产生了明显的偏差。Dueling DQN 是 DQN 另一种的改进算法,它在传统 DQN 的基础上只进行了微小的改动,但却能大幅提升 DQN 的表现。这样,即使其中一套神经网络的某个动作存在比较严重的过高估计问题,由于另一套神经网络的存在,这个动作最终使用的值不会存在很大的过高估计问题。.在同一个状态下,所有动作的优势值之和为 0,因为所有动作的动作价值的期望就是这个状态的状态价值。环境的状态包括倒立摆角度的正弦值。

sinat_52032317的博客 1万+

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

信息奥赛课课通(C++)p154-1近似排序

试题描述 读入一对正整数,将这两个数之间(包括这两个数本身)的所有数按下述特别规则排序后输出,该特别规则是按两数倒过来的值进行比较决定其大小,如30倒过来为3,29倒过来为92,则29大于30. 输入要求 1行,包含两个用空格隔开的自然数,这两个自然数给出了待排序数的范围,其中1≤第一个数≤第二个数≤999999999,两个数之差不超过100. 输出要求 输出排序后的数据,每行输出...

mengdicfm的博客 7283

SAP Script表单开发中ABAP preform方法的实战应用与调试技巧

本文深入探讨了在SAP Script表单开发中调用ABAP程序(preform方法)的实战应用与调试技巧。通过一个获取供应商版本名称的实例,详细讲解了如何在SE71中嵌入PERFORM指令、编写ABAP子程序进行数据查询与处理,并重点介绍了使用SAP Script Debugger进行高效调试的方法,帮助开发者灵活扩展表单功能,实现复杂业务逻辑。

o0p1q2r3的博客 551

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

Vivado工程芯片型号更换全流程:从IP更新到生成新bit文件(避坑指南)

本文详细介绍了Vivado工程中更换芯片型号的全流程,包括IP更新、约束文件适配和生成新bit文件的关键步骤。特别针对FPGA开发中常见的兼容性问题提供避坑指南,帮助开发者高效完成芯片迁移,确保设计稳定性和性能优化。

weixin_42549451的博客 298

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

突破Cloudflare 5秒盾!Python爬虫+GPT分析JS混淆实战(附完整代码)

这篇文章的核心观点其实不是“怎么过CF”,而是如何把LLM嵌入逆向工程的工作流。AI不会取代逆向工程师,但它正在重新定义逆向工程师的工作方式。过去我们80%的时间花在读懂混淆代码上,现在这部分可以外包给GPT,我们把精力集中在架构判断、异常处理和系统设计这些真正需要人类直觉的地方。技术会变,CF的防护会升级,GPT的能力也会迭代。但这种“人机协作拆解复杂问题”的方法论,比任何具体的绕过技巧都更有长期价值。参考资料Cloudflare Bot Management官方文档。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 535

AI系统架构原理与代码实战案例讲解

人工智能的概念可以追溯到上世纪50年代,图灵测试的提出标志着人工智能作为一门学科的诞生。早期的研究主要集中在符号推理、专家系统等领域,取得了一些突破,例如机器定理证明、西洋跳棋程序等。上世纪80年代,随着专家系统的兴起,人工智能进入了一个黄金时期。专家系统通过模拟人类专家的知识和经验进行推理和决策,在医疗诊断、故障诊断等领域取得了成功应用。进入90年代,由于计算能力的限制和数据量的不足,人工智能的发展陷入低谷。近年来,随着深度学习技术的突破、大数据的兴起以及计算能力的提升,人工智能迎来了第三次发展浪潮,在图

AI天才研究院 1794

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

深度解读 ABAP CDS View 中的 @Analytics.dataCategory: #FACT 注解

注解在 ABAP CDS View 中具有重要意义。它不仅定义了当前视图在数据模型中的角色,还为后续的分析和报告奠定了基础。在实际开发中,通过合理使用这一注解,可以显著提升数据模型的可用性和系统性能。无论是简单的 KPI 展示还是复杂的多维分析,这一注解都能发挥关键作用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 788

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

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

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HDU 2577 How To Type DP

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

Bysen32 789

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

hdu 2577 How to Type 经典DP

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

woshinannan的专栏 439

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

[HDU 2577 How to Type]DP

题目链接 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 Submiss

chenningGo的博客 600

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 2232 机器人的舞蹈 矩阵乘法
下一篇: HDU 2686 Matrix 最小费用最大流
_NMfloat_
博客等级 码龄12年 7粉丝 315原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值