(C++)1040 有几个PAT
#include<cstdio>
#include<cstring>
const int MOD = 1000000007;
const int maxn = 100010;int main(){char str[maxn];scanf("%s",str);int len = strlen(str);//数出每个元素左侧的P的个数int leftnumP[maxn];leftnumP[0] = 0;for(int i=1;i<len;i++){if(str[i-1]=='P'){leftnumP[i]=leftnumP[i-1]+1;}else{leftnumP[i]=leftnumP[i-1];}} long long ans = 0;//数出每个元素右侧的p的个数,顺便在这个过程中找到答案 int rightnumT = 0;for(int i=len-1;i>0;i--){if(str[i]=='T'){rightnumT++;}else if(str[i]=='A'){ans=(ans+leftnumP[i]*rightnumT)%MOD;}}
// printf("%d\n",rightnumT);printf("%d\n",ans);return 0;
}
经验:这题是很明显的利用递推关系打表,以空间换时间,但是注意到,从左往右数P时用数组存下来,从右往左数T时完全可以不必这么做,而是直接用一个整型变量,甚至在这个过程中还可以更新结果。
相关文章:

C#进行Visio二次开发之电气线路停电分析逻辑
停电分析,顾名思义,是对图纸进行停电的逻辑分析。在电气化线路中,一条线路是从一个电源出来,连接着很多很多的设备的,进行停电分析,有两个重要的作用:一是看图纸上的Shape元件是否连接正常&…

红芯丑闻揭秘者 Touko 专访 | 关于红芯丑闻的更多内幕……
专栏 | 九章算法 网址 | www.jiuzhang.com ❤ 红芯事件 近日,一则《自主研发的国产浏览器内核,红芯宣布获2.5亿C轮融资》的讯息再次将“国产自主创新”这一话题推向高潮,希冀之声群起。然好景不长,网友Touko在将红芯浏览器的exe文…

数学图形(1.20)N叶草
有N个叶子的草 相关软件参见:数学图形可视化工具,使用自己定义语法的脚本代码生成数学图形.该软件免费开源.QQ交流群: 367752815 vertices 1000 t from 0 to (2*PI) r 10 n rand_int2(3, 10) p 1 cos(n*t) sin(n*t)^2 x p*cos(t) y p*sin(t) N叶草面_1 vertices D1:5…

(C++)1045 快速排序 非满分
#include<cstdio>const int maxn100010; //思路,从第一个元素开始,假设其是主元,然后用two pointers方法,看有没有进行交换,进行了则不是 int main(){int iszy[maxn]{0};//0表示可以是主元,1表示一定…
android笔记1——开发环境的搭建
Long Long ago...已经成为了历史,我还是要说出一个真相:早年前,那时候,android还不被大众所认知的时候,当然开发人员也没不像如今那样趋于饱和状态。一位大牛前辈,也是我的学长,那时候我还在上大…

XP的几个小问题
一:没有了显示桌面可以用WinD来实现,但是用鼠标习惯了,所以还是让它出现好:点击“开始→运行”,在弹出的“运行”对话框中输入“REGSVR32 /n /i:u shell32”(不含双引号),然后回车&a…

使用 SQL Server 的 uniqueidentifier 字段类型
原文:使用 SQL Server 的 uniqueidentifier 字段类型SQL Server 自 2008 版起引入了 uniqueidentifier 字段,它存储的是一个 UUID, 或者叫 GUID,内部存储为 16 个字节。SQL Server 可用两个函数来生成 uniqueidentifier, 分别是 NEWID() 和 NEWSEQUENTIA…

(C++)202012-2 期末预测之最佳阈值 满分
#include<cstdio> #include<algorithm> using namespace std;const int M 100000;struct Student{int score;int res;//0表示挂科,1表示未挂int times;//表示预测正确的次数 int before;//在它之前的0的个数 int after;//在它之后的1的个数 }stus[M10…

javascript之prototype总结常用方法
//去左右空格String.prototype.trim function(){ return this.replace(/^\s*|\s*$/g,);}//去空格添加至数组集合String.prototype.splitrim function(t){ return this.trim().split(new RegExp(\\s*t\\s*)) }test "testing , splitrim ";var arr test.split…

Power Designer逆向工程导入Oracle表,转为模型加注释
1.打开PowerDesigner ——文件——Reverse Engineer——DataBase 2.选择所要连接数据库版本,此处使用的是oracle version 11g。 3.点击红色区域,选择数据源 4.选择modify 5.在此填写你的数据库名称、连接地址、用户名。确定 6.选择你新建立的连接数据库 …

ubuntu修改主机名后无法解析主机
修改完主机名后在执行sudo命令时,会提示sudo: 无法解析主机。在网上搜了下,找到了解决方法:1.sudo vim /etc/hosts找到如下行:127.0.1.1 XXX修改为:127.0.1.1 (修改后的主机名) 转载于:https://…

(C++)201709-1 打酱油
#include<cstdio> #include<algorithm> using namespace std;//贪心问题,优先级:剩的钱购买5瓶就买5瓶,不够看够不够买三瓶,再不够看够不够买一瓶 int main(){int start,left,num0;//初始的钱,当前剩下的…

【转】实现多行toolTips的类模块
注:本文转自CSDN论坛这里有一个类模块,就是用来实现多行 toolTips 的. Option Explicit Module Name : mdlAPI Written By : Gordon Robinson Date …

POJ 1458
给出两个字符串,求它们最长的公共子字符串长度。 如abfgc acbfefc 最长的公共子字符串为abfc 长度为4 思路:找到s1[i]与s2[j]的时候,相等的话,dp[i1][j1]dp[i][j]1; 不等的话dp[i1][j1]max(dp[i][j1],dp[i1][j]); #include <…

Activity的LaunchMode
在Android中,启动一个Activity有时需要总是创建一个新的对象,有时需要重复使用以后的对象,可以通过在配置activity时通过LaunchMode属性指定。 LaunchMode的属性值: 1、shandard: 标准模式:每次调用startAc…

邻域数、直接密度可达、密度可达、密度相连的概念
例子:如图所示,Eps用一个相应的半径表示,设MinPts3,请分析Q,M,P,S,O,R这5个样本点之间的关系。 易知,P,M,Q,O,SO之间的点,OR之间的点都是核心点 M是从P直接密度可达,Q是从M直接密度可达 Q是从P密度可达(反…

VUE中使用Echarts绘制地图迁移
踩坑说明 很久以前写jsp时使用过echarts的china.js插件,不过echarts是2.0的,目前vue项目中使用echarts3.8.5,直接将china.js插件引入,代码复制,运行一看,GG。地图中央只有一个光溜溜的南海群岛框框…

关于mysql字符集及导入导出
MySQL字符集设置 • 系统变量:– character_set_server:默认的内部操作字符集– character_set_client:客户端来源数据使用的字符集– character_set_connection:连接层字符集– character_set_results:查询结果字符集…

javascrip 常用属性
1 隐藏控件<div style"dispay:none"><asp:TextBox id"txthiddent" run"server"></asp:TextBox></div>2 页面引用带的<script> </script> EnDate.JS<head><!--#Include File"Js/EnDate.js&q…

数据预处理知识点汇总
(一) 数据清理 a) 缺失值填充 i. 忽略元组 ii. 手工填写 iii. 自动填充 使用属性均值推理出最可能的值,如贝叶斯公式或决策树 b) 去除离群点 i. 聚类 ii. LOF iii. 回归函数拟合数据 c) 噪音(包括错误和离群)处理 i. 分箱光滑 d) 纠正不一致数据 (二) …

Android支付接入(五):机锋网
前边已经陆续跟大家走了一遍运营商和支付宝付费接入,今天跟大家一起看看机锋网的支付接入。事实上付费接入本身并没有太多须要注意的地方,做的多了以后你会发现套路都是大同小异的。而须要注意的地方在于怎么跟游戏兼容及后期的维护,包含增减…

腾讯广告广点通API接入文档(Android)
官方文档地址 如果能够看懂文档的也没有必要再往下面看了。本篇文章就到此结束。 下面记录的是本人在上面锁踩过的坑,因为我发现Mac电脑上面的联系客服不是我想要的。 本来只是内部使用的文档,后来想想还是公开出来,希望能够帮助到人。进入正…

Linux下的下载工具 axel
下载地址:http://wilmer.gaast.net/main.php/axel.html Axel是命令行下的多线程下载工具,支持断点续传,速度通常情况下是Wget的几倍。 下载后使用如下命令编译安装: #tar zxvf axel-1.0a.tar.gz #cd axel-1.0a/ #./con…

集成学习知识点汇总
为啥叫集成学习 结合多个学习器来完成学习任务。 俗话说就是,团结力量大。 个体学习器可以相同可以不同。如果相同叫同质集成,如果不尽相同叫异质集成。 个体学习器最好满足:好而不同。 所谓好(准确性),就是个体学习器不能太坏&…

hdu 2028 Lowest Common Multiple Plus
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid2028 题目大意:求最小公倍数,用辗转相除法。 1 #include <stdio.h>2 int main ()3 {4 int gcd(int a,int b);5 int a,b,n,i,c;6 while (scanf("%d",&n)…

TreeView
6.遍历TreeView节点(递归算法) private void Page_Load(object sender, System.EventArgs e) { GetAllNodeText(TreeView1.Nodes); } void GetAllNodeText(TreeNodeCollection tnc) { foreach(TreeNode node in tnc) { if(node.Nodes.Count!0) GetAllNodeText(node.Nodes); Res…

FZU 2297 Number theory【线段树/单点更新/思维】
Given a integers x 1, you have to apply Q (Q ≤ 100000) operations: Multiply, Divide. Input First line of the input file contains an integer T(0 < T ≤ 10) that indicates how many cases of inputs are there. The description of each case is given below: …

<软件过程与改进>计算大题考点总结与例题
1.PSP_PROBE估算法 常见考法:给历史数据,需要选择代理规模的估算值和程序规模/所需资源的实际值,用以下公式求得拟合公式参数 然后使用公式计算出未知的程序规模/所需资源 例题 2.PSP过程质量的度量指标_yield 常见考法:给出缺…

c语言exit和return区别,在fork和vfork中使用
转自c语言exit和return区别,在fork和vfork中使用 exit函数在头文件stdlib.h中。 简述: exit(0):正常运行程序并退出程序; exit(1):非正常运行导致退出程序; r…

WIKI与BLOG殊途同归(转)
现在很多朋友都拥有了自己的BLOG网页,尽管他们可能并不打算走木子美那种写私人日记的路子,但彰显个性、张扬自我的目的,大都类似。其实在这个时候,中国的许多技术迷们已经把目光投向了WIKI。 历经了网络反黄与木子美,中…