PAT b1040 有几个PAT ---【打表法】

【置顶】【PAT】PAT甲级题目及分类总结(持续更新ing) 在2019年3月底,我决定考浙大计院,经过一个月还算凑合的学习,痛定思痛,决定整理整理自己的博客。 粗略估计,大概一个月的时间里我AC了31道题,大概用时40个小时上下,毕竟还要把大部分时间花在笔试上。一开始使用Java,到十几题的时候发现有的题真的Java很难通过,痛定思痛转Cpp。这里告诫读者,千万换Cpp而不是继续Java,毕竟我们的目标是满分。 我在算法题上有点小基础,前后两次参加蓝桥杯,... 阅读详情

题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805282389999616

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

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

输入格式:

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

输出格式:

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

输入样例:

APPAPT

输出样例:

2
#include<iostream>
using namespace std;

const int maxn=100010;
int flag[maxn];
const int mod=1000000007;

int main()
{
	string str;
	cin>>str;
	int len=str.length();
	for(int i=0;i<len;i++)
	{
		if(i>0)
		{
			flag[i]=flag[i-1];
		}
		if(str[i]=='P')
		{
			flag[i]++;
		}		
	}
	
	int ans=0;
	int countt=0;
	for(int i=len-1;i>=0;i--)
	{
		if(str[i]=='T') countt++;
		if(str[i]=='A') ans=(ans+flag[i]*countt)%mod;   //别忘了取模!!! 
	}
	cout<<ans;
}

 

 

 

PAT乙级题目对应知识点分类梳理&例程(更新至1102) PAT乙级题目对应知识点分类梳理 PAT乙级的90道题的知识点与对应的题号整理如下,便于做专项练习和巩固! 1、字符串函数 2、STL容器 考察字符串相关知识,如逆转、字母与数字的判断与转化、字符串拼接、字符串比较 考察STL常用容器,包括string、vector、set、map、stack、list 题号:1002、1006、1009、1014、1021、1024、1031/1039、1042、1043、/1048/1052/1054/1058/1067/1079、1081/1084 阅读详情

相关推荐

Palantir解密:“本体”的建模逻辑及其扩展方向

上一篇重点从对现实世界建模的角度探讨了“本体”在数字化架构中的核心意义。这里借Palantir的“本体”概念、解析Palantir只是起点,目标旨在以他山之石攻玉——探索数字世界的底层架构逻辑,最终为构建自主体系提供思考。Palantir以“本体论”为核心的建模方案是否代表终极答案,不宜过早下结论,但其思路值得深入剖析。

SZSDQJC的博客 2635

【PAT】PAT总结《搜索、打表、分治、排序算法、队列、栈、堆、Hash》

打表 打表这个技巧其实我们在素数部分的题已经涉及到了。还是要仔细思考,什么时候应该打表,打表有助于减少后续的计算的时候,我们应该打表, 特别是查询量特别大,即时计算无论多么快都会超时的情况。或者逆向运算比较快的时候,比如我们用开方求9的开方,和用3直接算出9是它的平方,从而3是9的开方,这两种速度差别非常大。在某些需要找平方因子的题里,可以先通过这种办法把平方因子预先计算然后存起来。 A1100 ...

elegant coder 3989

dify智能体:日志管理与标注功能详解

日志管理与标注功能是优化聊天助手、Agent、文本生成应用、Chatflow 和工作流等工具交互体验的关键。日志管理允许用户查看、修改和标注日志,帮助回顾和优化交互内容。用户可以通过点击👍或👎按钮快速标注满意度,标注后的日志可用于后续优化和分析。标注功能则支持用户对交互内容进行标记和调整,以提升模型输出质量。此外,用户还可以调整界面语言和时区设置,确保在熟悉的环境中操作。这些功能共同作用,显著提升了交互体验和模型性能。

zyx_bx的博客 2712

【PAT B1040】有几个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三种字母。 输出格式...

tqlwsl的博客 356

PLL锁相环性能上不去?可能是电荷泵的电流失配在捣鬼(附Jae-Shin Lee经典方案解析)

本文深入分析了PLL锁相环性能瓶颈的根源——电荷泵电流失配问题,详细解析了Current Mismatch和Current Deviation的区别及其对系统的影响。重点介绍了Jae-Shin Lee的多级电流镜技术,该方案通过运放构建虚拟短路和四级电流镜结构,显著降低了电流失配,使参考杂散改善15dB以上。文章还提供了从仿真到流片的完整优化流程,帮助工程师系统解决电荷泵性能问题。

weixin_30684743的博客 371

【学习笔记】人群归因分数 PAF 以及combined PAF

人群归因风险比例(Population Attributable Fraction,PAF)是一个流行病学指标,它估计了在总体中,如果能消除一个特定的危险因素,能预防多少百分比的疾病或健康结果。简单来说,PAF回答的是:“如果没有这个风险因素,总体中会有多少病例是可以避免的?

weixin_53499537的博客 4905

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

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

weixin_44873546的博客 174

保姆级教程:用Comsol Multiphysics仿真你的第一个SAW滤波器(含压电材料参数设置)

本文提供了一份详细的COMSOL Multiphysics教程,指导读者完成表面声波滤波器(SAW)的压电仿真全流程。从压电材料参数设置、叉指换能器建模到多物理场耦合分析,特别强调了实际应用中容易出错的细节和解决方案,帮助工程师快速掌握SAW滤波器仿真技术。

weixin_42665255的博客 592

PATB1040. 有几个PAT(25)

题目链接:点击打开链接知识点笔记:    对于一个A,能组成PAT的个数为左边P的个数乘以右边T的个数    AC代码:#include &lt;cstdio&gt; #include &lt;cstring&gt; using namespace std; const int MAXN = 100010; const int MOD = 1000000007; int main() { ch...

SZZ的博客 337

Linux内核vmlinuz文件:了解和编程

vmlinuz文件是Linux操作系统中的内核镜像文件。它包含了Linux内核的压缩版本,用于引导和启动操作系统。vmlinuz文件通常是一个zImage格式的压缩内核镜像,其中包含了操作系统所需的核心功能和驱动程序。vmlinuz文件的名称可能会因Linux发行版和版本而有所不同,但它们的作用是相同的。在某些发行版中,vmlinuz文件可能被重命名为vmlinux或bzImage。

PixelDyno的博客 1351

基于情感分析+聚类分析+LDA主题分析对服装产品类的消费者评论分析

本研究旨在通过对服装产品类的消费者评论进行综合分析,为企业提供更全面、更深入的市场洞察和决策支持。同时,本研究的方法和结果也可以为其他领域的消费者评论分析提供借鉴和参考。

m0_64336780的博客 2万+

PAT B1040. 有几个PAT

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

crazyliu的博客 371

RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣本专栏已更新260多种不同的改进方法,所使用并改进的每一个模块均包含详细的模块分析、原理讲解、个人总结、多种改进方式以及完整的修改流程,所有改进100%可直接运行。2️⃣所有改进点均为近三年顶会,顶刊提出的先进算法,将其融入到中,紧跟学术热点,适应不同的任务场景。3️⃣团队内发表数篇SCI论文,熟悉完整的发表流程,订阅专栏即可进群享受模型训练、模型改进、论文写作、投稿选刊,从入门到论文的各种答疑内容。4️⃣专栏内容会持续更新,最近更新时间:2024-12-4。项目介绍在大家购买专栏后,加入学习

Limiiiing的博客 2万+

Day 7_3 其他高效算法与技巧 PAT B1040/A1093有几个PAT

1.打表 用空间换时间,一般将所有可能需要用到的结果实现计算出来,后面使用直接查询即可 一次性计算 例如斐波那契数列, B程序分几次计算,手动将结果写到程序A的数组中 当程序的一部分过程消耗时间过多,或是没有想到好的算法,因此在另一个程序中使用暴力算法求出结果,例如n皇后 对一些感觉不会做的题目,先用暴力程序计算出小范围的结果,然后找规律 2.活用递推 PAT B1040/A1093 有几个P...

qq_41898248的博客 144

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

PAT B1040 有几个PAT (25point(s))

PAT B1040有几个PAT 输入样例: APPAPT 输出样例: 2 思路1: code1: #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn = 100010; const int MOD = 10000...

qq_42347617的博客 205

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

PAT B1040/A1093 有几个PAT count PAT‘S

The stringAPPAPTcontains twoPAT's as substrings. The first one is formed by the 2nd, the 4th, and the 6th characters, and the second one is formed by the 3rd, the 4th, and the 6th characters. Now given any string, you are supposed to tell the number of...

m0_51711089的博客 394

打表与活用递推

本篇博客主要介绍一些编程技巧:一个是打表,一个则是活用递推 1、打表 打表是一种典型的用空间换时间的技巧,是指将所有可能需要用到的结果事先计算出来,这样后面需要用到时就可以直接查表获得。打表常见的用法有如下几种: 在程序中一次性计算处所有需要用到的结果,之后的查询直接取这些结果 这个是最常用到的用法,例如在一个需要查询大量Fibonacci数F(n)的问题中,显然每次从头开始计算是非常耗时的,...

bogedaye的博客 324

PAT-B 1040. 有几个PAT(25)

打表+递推将时间复杂度减少到O(N)法

Tomorrow Never Knows 499

一些杂七杂八的算法(打表,递推,随机选择算法)

打表 打表是一种以空间换时间的策略,下面举几个打表的形式。 1 在程序中一次性计算出所有结果,之后的查询直接采用这些结果。 2 在另一个程序中暴力计算出结果,再把程序存到数组里,直接使用。相当于暴力算法。 3 先暴力计算小范围数据的结果,然后根据规律找出解决问题的方法。 递推 如果题目中有递推关系的话,活用递推关系就可以降低时间复杂度。 例如,对于序列问题来说,假如序列中的每一位所需要计算的值都可...

阳光的博客 303

PAT乙级

题号 题目 题解 分类 备注

qq_42347617的博客 730

【最新合集】PAT乙级最优题解(题解+解析+代码)

乙级题目+详细题解,整理不易,喜欢的请点个赞哦~ pat乙级题解目录 编号 标题 题解 分类 1001 害死人不偿命的(3n+1)猜想 (15分) C++ 简单模拟 1002 写出这个数 (20分) C++ 常量数组 1003 我要通过! (20分) 待填坑 待填坑 1004 成绩排名 (20分) C++ 结构体 1005 继续(3n+1)猜想 (25分) C++ 打表 1006 换个格式输出整数 (15分) C语言 简单模拟 ...

weixin_43899069的博客 1万+

PAT甲级题目及分类总结

PAT甲级题目及分类总结 可以参考 柳婼的博客 前辈的代码真的不错。 对于题目,我将按序号和分类两种方式进行整理。有基础的朋友可以按顺序解题,这样相当于反复循环各个考点。基础比较薄弱的分类型攻克,再留最后几套题做模拟。 对于每道题,尽量做到一题多解并注重代码可读性。 PAT总结 PAT总结《考前经验贴》PAT总结《语法篇》PAT总结《模拟篇》PAT总结《数学篇》...

圈圈的博客 511

PAT乙级(考研上机复习 重点题&易错题)

PAT乙级 重点题&易错题

weixin_52355727的博客 1657

Contest100000587 - 《算法笔记》4.7小节——算法初步->其他高效技巧与算法

文章目录Contest100000585 - 《算法笔记》4.7小节——算法初步->其他高效技巧与算法4.7 其他高效技巧与算法4.7.1 打表4.7.2 活用递推4.7.3 随机选择算法随机选择算法随机选择算法应用Codeup习题5067 Problem A 求第k大数总结下: Contest100000585 - 《算法笔记》4.7小节——算法初步->其他高效技巧与算法 4.7 ...

李霁明的博客 634

字符串处理专题(持续更新)

字符串输入格式 开文第一篇,想先捋一下字符串输入的形式与方法。各路大神已经总结的很多了,我就归纳一下自己常用的方法,自给自足了。 字符串存储可以使用char* 或者string类型,输入时要注意需要存储的字符串是否包含空格。 #include <iostream> #include <cstdio> #include <cstring> #include &lt...

Lynch的博客 241

《算法笔记》4.7 其他高效技巧和算法

一.打表 在程序中一次性计算出所有需要用到的结果,之后可直接取这些结果; 二.活用递推 正在计算的结果可以通过以前计算的结果得到; 三.随机选择算法 如何从一个无序的数组中求出第 K 大的数(数组中元素各不相同) 代码: int randSelect(int A[], int left, int right, int K) { if(left == right) return A[left]; ...

devilboy恶魔男孩的博客 250
上一篇: 快速排序
下一篇: 求第k大元素
Estrellas_
博客等级 码龄9年 273粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值