1040 有几个PAT (25 分)

【超详细】C#的单例模式 本文详细介绍了C#中的单例设计模式,包括两种实现方式:普通类泛型单例(Singleton<T>)和基于MonoBehaviour的组件单例(MonoSingleton<T>)。单例模式通过私有构造、静态私有实例和公共访问入口确保全局唯一实例,具有节省资源、保证数据一致性等优势。文章分别阐述了两者的核心原理、代码实现、使用场景及注意事项,并提供了日志管理器和音效管理器的具体应用示例。特别强调了多线程安全、初始化时机和避免过度使用等重要原则,为Unity开发中合理运用单例模式提供了全面指导。 阅读详情

字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。

现给定字符串,问一共可以形成多少个 PAT?

输入格式:

输入只有一行,包含一个字符串,长度不超过105,只包含 P、A、T 三种字母。

输出格式:

在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。

输入样例:

APPAPT

结尾无空行

输出样例:

2

结尾无空行

解题思路:这道题其实我并没有想自己的做法,我是使用的在之前看到的算法笔记当中学到的做法,那种做法是真的很巧妙,我在这里解释一下吧,他是先对整个字符串进行遍历,将整个字符串当中的每个位置包括其位置之前的元素都存入Hash表当中,这里的目的是为了,在进行计算时,只用遍历Hash相应位置的内容就可以知道这个位置之前有多少个P了,然后再从右1向左进行遍历,着了没遇到一个T就将T的个数加一,这样一来对T的个数也有了统计,同时遇到A的时候就将已经统计的T的个数和Hash表当中相对应的位置的P的个数区出来,这样就达成了当前位置的P和T个数的分别统计,柳神的做法是通过先对T的个数进行判别,然后从头开始遍历,每遇到一个P将P统计一下,当遇到T时,将T的个数减一,遇到A的时候进行计算,非常非常厉害的做法,向柳神学习.

加油加油,彼方尚有荣光在!!!

//这道题在之前的算法笔记之中看到过,所以知道这道题的考点,现在要做的就是将整个算法进行复现
#include<iostream>
#include<string>
#include<vector>
//这道题的点在于将每一个A的前后的P和T的个数进行相乘
using namespace std;

int main()
{
	string arr;
	cin >> arr;
	int end = 0;
	vector<int>P(arr.size());//这个数组时专门用来存放每一个位置之前有多少个P的,算是使用的是哈希的方法吧
	for (int i = 0; i < arr.size(); ++i)
	{
		if (i != 0)
		      P[i] = P[i - 1];//这里的意义是将之前的P的个数保留下来
		if (arr[i] == 'P')
		{
			P[i]++;
		}
	}
	int T = 0;
	for (int i = arr.size() - 1; i >= 0; --i)
	{
		if (arr[i] == 'A')
		{
			int middle = 0;
			middle = T * P[i];//这里就是将在之前在Hash表之中保留的P的个数与T的个数进行相乘,统计结果的个数
			end = (end + middle)% 1000000007;
			continue;
		}
		if (arr[i] == 'T')
		{
			T++;
		}
	}
	cout << end << endl;
	return 0;
}

一文学会Inner-MPDIoU:YOLOv11边界框回归优化全解析 Inner-MPDIoU 凭借“辅助边框+最小点距离”的双重创新,成功解决了传统 IoU 损失在小目标、遮挡场景、位置偏差场景下的收敛和判别难题,为 YOLOv11 注入了更强的边框回归能力。从原理剖析到代码集成,本教程已为你铺就了一条“定位精度跃升”的实战路径。现在,不妨亲自上手尝试,让你的目标检测模型在各类数据集上都能交出一份“定位精准”的答卷——相信我,当你看到检测框完美贴合目标的那一刻,你会明白这份尝试的价值。我很乐意在你实践过程中帮你解决任何问题,让我们一起推动目标检测在边框回归领域的边界。 阅读详情

相关推荐

Python实战:从中国气象局天擎平台自动化获取与处理雷达基数据

本文详细介绍了如何利用Python脚本实现从中国气象局天擎平台自动化获取与处理雷达基数据。通过环境搭建、安全认证、核心代码编写及工程化优化,构建了一个包含自动查询、批量下载、错误重试和格式转换的完整数据管道,旨在帮助气象水文领域的研究者与数据分析师从繁琐的手动操作中解放出来,高效管理海量数据。

ipfs8storage的博客 918

1040 有几个PAT (25 分)

1040有几个PAT(25分) 字符串APPAPT中包含了两个单词PAT,其中第一个PAT是第 2 位(P),第 4 位(A),第 6 位(T);第二个PAT是第 3 位(P),第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10​5​​,只包含P、A、T三种字母。 输出格式:...

韩旭051的博客 3371

Excel下拉公式不自动计算?5步彻底解决!

Excel下拉公式不自动计算?5步彻底解决!在使用Excel处理数据时,公式下拉填充是提升效率的核心操作。但许多用户都遇到过这样的困惑:明明设置了公式,下拉时结果却纹丝不动。本文将从技术原理出发,结合5步实操方案,为您彻底解析这个高频问题的根源与解决方案。

mmoo_python的博客 1万+

PAT 1040 有几个PAT (25分)

1040 有几个PAT (25分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10​5​​ ,只包含 P、A、T 三种字母。 输出格式: 在一行中输出给定...

ganlanA的博客 1316

将AAL图谱对应到Yeo7大网络中【原理,代码分析】

本文介绍了将AAL2图谱映射到Yeo7大功能网络的方法。通过整合皮层(Yeo2011)、小脑(Buckner2011)和纹状体(Choi2012)三个区域的功能网络图谱,采用投票机制确定每个AAL区域的网络归属。具体步骤包括:1)统计每个AAL区域体素在各网络图谱中的分布;2)选择体素数量最多的网络作为该区域的最终标签。该方法实现了从解剖结构到功能网络的映射,可获得120个AAL区域对应的7大功能网络标签。

yes666666的博客 2204

Cadence电路原理图全部变成黄色如何解决?

Cadence电路原理图全部变成黄色如何解决?现象:解决方法: 最近用cadence仿真锁相环,拷贝师哥的library后打开,发现schematic中全部变成了黄色,但可以正常修改元件参数,正常仿真。仅仅影响使用效果,看起来超级难受。 现象: 1.电路元件及连线全部变为黄色 2.可以正常修改参数,电路ADE仿真 如下图所示: 解决方法: 重新导入display.drf文件,步骤如下: tool——Display Resource Manager,截图如下 完成上述步骤,显示如下界面,选择Merge选项

virtuoso~晓晓 1万+

PAT 1040 有几个PAT (25分)(Java)

题目描述   字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。   现给定字符串,问一共可以形成多少个 PAT? 输入格式:   输入只有一行,包含一个字符串,长度不超过10的5次方,只包含 P、A、T 三种字母。 输出格式:  在一行中输出给定字符串中包含多...

HenryLei的博客 1万+

Zotero PDF Translate插件实战:DeepL API免费申请与高效翻译配置指南

本文提供Zotero PDF Translate插件配置DeepL API的完整实战指南。详细介绍了如何免费申请DeepL API密钥,解决国内访问问题,并在插件中完成精细配置,实现文献阅读时的无缝划词翻译,大幅提升科研人员和学生的英文文献阅读效率。

rum55的博客 455

1040 有几个PAT (25分)

字符串APPAPT中包含了两个单词PAT,其中第一个PAT是第 2 位(P),第 4 位(A),第 6 位(T);第二个PAT是第 3 位(P),第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10​5​​,只包含P、A、T三种字母。 输出格式: 在一行中输出给定字符串中包含多少个...

一定要站在自己热爱的生活里闪闪发光 3万+

AD5700 HART芯片实战笔记:从时钟检测到数据收发,一个STM32工程师的踩坑实录

本文详细记录了STM32工程师在AD5700 HART芯片开发中的实战经验,涵盖时钟信号检测、RTS切换时序优化及HART数据解析等关键问题。通过硬件设计检查、定时器配置优化和大小端转换方案对比,解决了工业级芯片开发中的典型挑战,为嵌入式开发者提供宝贵参考。

weixin_42715608的博客 164

手把手教你用ROS2 Humble给PX4无人机写个“画圆”程序:从C++代码到Gazebo仿真全流程

本文详细介绍了如何使用ROS2 Humble和PX4飞控实现无人机圆形轨迹控制,涵盖从环境配置、Gazebo仿真到C++代码实现的完整流程。通过实战教程,读者将掌握轨迹跟踪仿真的核心技术,包括ROS2与PX4的通信接口、圆形轨迹算法设计及Gazebo仿真调试技巧。

weixin_29056781的博客 257

1040有几个PAT(25分)

1040 有几个PAT (25分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10的5次幂,只包含 P、A、T 三种字母。 输出格式: 在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。 输入样

weixin_45344430的博客 732

使用 MATLAB/Simulink 构建一个基于PID控制的直流电机速度调节系统模型

直流电机(DC Motor)因其结构简单、成本低廉、易于控制等特点,广泛应用于各种工业自动化和家用电器中。PID控制器作为最常用的控制策略之一,在直流电机的速度调节系统中具有重要应用价值。通过合理调整比例(P)、积分(I)、微分(D)三个参数,可以实现对电机速度的精确控制。本教程将带你使用构建一个基于PID控制的直流电机速度调节系统模型,涵盖电机模型构建、PID控制器设计、系统仿真与调试等多个方面。本文介绍了如何使用构建一个基于PID控制的直流电机速度调节系统模型。

amy_mhd的博客 217

PAT 乙级 1040 有几个PAT (25分)

1040 有几个PAT (25分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10 ​5 ​​ ,只包含 P、A、T 三种字母。 输出格式: 在一行中输出...

一起加油 4691

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

1040 有几个PAT (25 分)

1040 有几个PAT (25 分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10 ​5 ​​ ,只包含 P、A、T 三种字母。 输出格式: 在一行中输...

丁世杰的博客 1747

PAT成长之路——1040 有几个PAT (25 分)

题目: 1040 有几个PAT (25 分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10​5​​,只包含 P、A、T 三种字母。 ...

玛珈山大萌新 184

1040 有几个PAT (25 分) AC

1040 有几个PAT (25 分)

he_yang_的博客 268

PAT乙级1040 有几个PAT (25分)

链接 AC: //1040 有几个PAT (25分) #include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> #include <math.h> #define LIM 1000000007 int main() { char c; int p = 0, pa = 0, pat = 0; while ((c = getc

qq_40709990的博客 225

【pat乙级】1040有几个PAT (25分)

pat乙级1040 有几个PAT 题目: 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10^​5 ,只包含 P、A、T 三种字母。 输出格式: 在一行中输出...

风行骓Lie的博客 301

PAT1040 有几个PAT (25 分)

题目描述 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位P),第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10​5​​,只包含 P、A、T 三种字母。 输出格式: 在一行中输出给定字符串中包含多少个...

liuzuoping的博客 316

PAT 1040 有几个PAT (25分) Java实现

1040 有几个PAT (25分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位( P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位 ( P),第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过105,只包含 P、A、T 三种字母。 输出格式: 在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。 输入样例:

weixin_45458945的博客 278

B1040 有几个PAT (25 分)

字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10​5​​,只包含 P、A、T 三种字母。 输出格式: 在一行中输出给定字符串中包含多少个 ...

CJared的博客 234
上一篇: 1078 字符串压缩与解压 (20 分)
下一篇: 1013 数素数 (20 分)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值