蓝桥杯 2023 省A 更小的数

        

主要思路:

  1. 输入一个长度为n的字符串,用二维数组dp[i][j]来记录子串[i, j]是否需要反转一次才能满足条件。
  2. 使用动态规划自底向上地填充dp数组。
  3. 根据问题的要求,需要考虑字符串的子串中字符的大小关系来判断是否需要反转。
  4. 最后统计满足条件的子串的个数,即dp[i][j]为true的个数。
#include<iostream>
#include<bits/stdc++.h>
using namespace std;int main()
{// 定义字符数组存储输入的字符串char s[5001];// 读取输入的字符串scanf("%s",s);// 获取字符串的长度int n=strlen(s);// 定义二维动态规划数组,dp[i][j]表示从i到j的子串是否需要反转一次才能满足条件vector<vector<bool> > dp(n,vector<bool>(n,false));int i,j;// 从字符串末尾开始向前遍历for(i=n-1; i>=0; i--){// 从当前位置向后遍历字符串for(j=i+1; j<n; j++){// 如果子串长度为1或2,只需比较第一个字符和最后一个字符的大小if(i==j-1 || i==j-2)dp[i][j] = s[i] > s[j] ? true : false;else{// 如果子串长度大于2,则需要根据动态规划的状态转移方程进行判断if(s[i] == s[j])dp[i][j] = dp[i+1][j-1];else if(s[i] > s[j])dp[i][j] = true;elsedp[i][j] = false;}}}// 计数器,统计满足条件的子串个数int count = 0;// 遍历所有可能的子串for(i=0; i<n-1; i++)for(j=i+1; j<n; j++)// 如果从i到j的子串需要反转一次才能满足条件,则计数器加1if(dp[i][j] == true)count++;// 输出满足条件的子串个数cout << count << endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

静态扭矩,是用公称扭矩还是最小动态扭矩作为对比?——​suntorque智能扭矩系统​

在机械工程和动力学领域&#xff0c;扭矩是一个至关重要的概念。当我们讨论到扭矩时&#xff0c;常常会遇到静态扭矩和动态扭矩的说法。特别是在实际应用中&#xff0c;工程师们经常需要对比和选择使用哪种扭矩作为参考。那么&#xff0c;静态扭矩&#xff0c;是用公称扭矩还是…

【C/C++】详解 assert() 断言(什么是assert? assert有什么作用?)

目录 一、前言 二、什么是 assert ? 三、assert 的用法 四、assert 案例解析 五、assert 断言的使用原则 六、共勉 一、前言 在编写程序过程中&#xff0c;尤其是调试代码时&#xff0c;往往需要一个提醒代码漏洞/Bug的小助手&#xff0c;以便于程序员及时修改和完善代码…

109 项目整合 spring-quartz 启动自动执行定时任务

前言 项目中使用了 quartz 来支持定时任务的相关基础支撑, 但是 最近添加了一个 资源消耗比较高的定时任务, 发布到测试环境之后, 发现服务突然 起不起来了[资源比较有限] 然后 查看了一下日志, 这个定时任务怎么在执行?, 不是 配置的是 凌晨两点么, 然后 仔细一看 几乎配置…

python课后习题一

题目&#xff1a; 1. 2. 解题过程&#xff1a; 1. """计算年数和天数""" minute int(input("请输入分钟数&#xff1a;")) hours minute // 60 days hours // 24 years days // 365 last_days days % 365 print(f"{minut…

【IEDM2023】背势垒电荷运动诱导GaN HEMT随时间的非稳态击穿

分享一篇2023年IEDM上GaN HEMT&#xff08;高电子迁移率晶体管&#xff09;的研究论文&#xff0c;标题为“Charge Movement in Back Barrier Induced Time-Dependent On-State Breakdown of GaN HEMT”。论文讨论了在GaN HEMT中&#xff0c;由于背栅&#xff08;Back Barrier&…

BigDecimal类的使用,用于精确计算任意精度的数字

BigDecimal类 BigDecimal 是 Java 中用于精确表示任意精度的十进制数的类。在很多情况下,使用基本数据类型(如 double 或 float)进行浮点数计算可能会导致精度丢失或舍入错误。BigDecimal 提供了一种更精确的解决方案,可以处理需要高精度计算的场景,比如财务应用或科学计算…

力扣---括号生成---回溯---dfs/二进制

暴力--二进制 采用与&#xff1a;力扣---子集---回溯&#xff08;子集型回溯&#xff09;---递归-CSDN博客 中二进制求解一样的思路&#xff0c;即遍历0~-1&#xff08;从二进制去考虑&#xff09;&#xff0c;如果这个数的第 i 位为0&#xff0c;则括号的第 i 位为‘&#xff…

Excel第27享:基于if函数嵌套的多结果唯一性匹配

1、需求描述 如下图所示&#xff0c;现在有E列、F列、G列三列数据&#xff0c;在D列中填充“最终对应编号”&#xff0c;匹配原则是&#xff1a;E列、F列、G列三列数据中&#xff0c;哪个有数据就填充哪个数据&#xff0c;如果都没有&#xff0c;就显示空值即可。 2、解决思路…

redis 常见的异常

目录 一、缓存穿透 1、概念 解决方案 &#xff08;1&#xff09;布隆过滤器 (2)、缓存空对象 二、缓存雪崩 1、概念 解决方案 &#xff08;1&#xff09;redis高可用 &#xff08;2&#xff09;限流降级 &#xff08;3&#xff09;数据预热 一、缓存穿透 1、概念 缓…

【Greenhills】GHS-MULTI IDE-Ubuntu纯命令系统部署license文件

【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 记录在Ubuntu纯命令系统中部署license文件的步骤。 2、 问题场景 客户服务器为Linux纯命令行的环境&#xff0c;客户也无其他服务器可以部署&#xff0c;需在纯命令行上尝试安装。 3、软硬件环境 1&#xff09…

Windows系统部署eXtplorer文件管理器结合内网穿透构建私人云存储服务器

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件&#xff0c;是互联网最重要的应用之一&#xff0c;无论是…

8.测试教程-自动化测试selenium-3

文章目录 1.unittest框架解析2.批量执行脚本2.1构建测试套件2.2用例的执行顺序2.3忽略用例执行 3.unittest断言4.HTML报告生成5.异常捕捉与错误截图6.数据驱动 大家好&#xff0c;我是晓星航。今天为大家带来的是 自动化测试selenium第三节 相关的讲解&#xff01;&#x1f600…

ISIS邻居以及路由计算

ISIS报文细节&#xff0c;ISIS报文分为三个部分&#xff1a; 1、通用报文头 Intradomain Routeing Pro Dis&#xff1a;ISIS&#xff1a;域内路由协议鉴别符&#xff1a;0x83代表ISIS协议 Length Indicator&#xff1a;27 头部长度&#xff08;包含了通用头部和专用头部&…

【原创】三十分钟实时数据可视化网站前后端教程 Scrapy + Django + React 保姆级教程向

这个本来是想做视频的&#xff0c;所以是以讲稿的形式写的。最后没做视频&#xff0c;但是觉得这篇文还是值得记录一下。真的要多记录&#xff0c;不然一些不常用的东西即使做过几个月又有点陌生了。 文章目录 爬虫 SCRAPYxpath 后端 DJANGO前端 REACT Hello大家好这里是小鱼&a…

【spring】@Conditional注解学习

Conditional介绍 Conditional注解用于按照设定的条件进行判断&#xff0c;从而决定是否将某个bean注册到Spring容器中。 Conditional注解是在Spring 4.0版本中引入的&#xff0c;它提供了一种更加灵活的方式来控制bean的创建和注册。在此之前&#xff0c;开发者通常使用Profi…

Automated and Cooperative Vehicle Merging at Highway On-Ramps

论文解读——Automated and Cooperative Vehicle Merging at Highway On-Ramps 参考资料来源&#xff1a;《Automated and Cooperative Vehicle Merging at Highway On-Ramps》一文 1.问题描述 该文章想解决如FIG.1中的匝道合流问题&#xff0c;传统的匝道合理需要等待main r…

vue@2.7.16 使用less、less-loader

遇到问题&#xff0c;npm install less-loader7.3.0 --save安装好less-loader后&#xff0c;执行npm run serve 项目运行不起来&#xff0c;排查后发现在安装less-loader后就提示需要安装less&#xff0c;正确的安装应如下&#xff1a; npm install less less-loader7.3.0 --sa…

物联网应用技术中的stm32该怎么学,该从哪入手?

物联网应用技术中的stm32该怎么学&#xff0c;该从哪入手&#xff1f; STM32是只物联网中的一部分&#xff0c;单纯的学个STM32是没法满足物联网开发需求的&#xff0c;实际产品开发过程中会考虑成本等多种因素选择合适的方案&#xff0c;比如使用单片机还是stm32或是更高端的芯…

前端vue实现甘特图

1 什么是甘特图 甘特图(Gantt chart)又称为横道图、条状图(Bar chart)。以提出者亨利L甘特先生的名字命名&#xff0c;是项目管理、生产排程、节点管理中非常常见的一个功能。 甘特图内在思想简单&#xff0c;即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的…

考研数学|《660》题这样刷,效率最高!

首先要了解一下660的难度&#xff0c;我认为660的难度是在基础和强化之间的一本习题册。具有一些比较好的选填题目&#xff0c;有些题目可能对初学者来说较为困难&#xff0c;尤其是一些包含二级结论的一些题目。但是对于强化阶段来说&#xff0c;这本题目可能难度较低了一些。…