自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 L1-7 乘法口诀数列(PTA)

本题要求你从任意给定的两个 1 位数字 a1​ 和 a2​ 开始,用乘法口诀生成一个数列 {an​},规则为从 a1​ 开始顺次进行,每次将当前数字与后面一个数字相乘,将结果贴在数列末尾。如果结果不是 1 位数,则其每一位都应成为数列的一项。

2025-04-15 21:00:23 386

原创 L1-6 大勾股定理(PTA)

是勾股定理的推广:对任何正整数 n 存在 2n+1 个连续正整数,满足前 n+1 个数的平方和等于后 n 个数的平方和。例如对于 n=1 有 32+42=52;n=2 有 102+112+122=132+142 等。给定 n,本题就请你找出对应的解。

2025-04-15 19:51:23 793

原创 7-12 最长对称子串(PTA)

对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定,最长对称子串为,于是你应该输出11。

2025-04-05 20:34:39 358

原创 7-3 A-B(PTA)

本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。

2025-04-03 20:56:42 320

原创 7-8 查验身份证(PTA)

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。

2025-04-03 19:37:36 767

原创 L1-3 帮助色盲(PAT)

在古老的红绿灯面前,红绿色盲患者无法分辨当前亮起的灯是红色还是绿色,有些聪明人通过路口的策略是这样的:当红灯或绿灯亮起时,灯的颜色无法判断,但前方两米内有同向行走的人,就跟着前面那人行动,人家走就跟着走,人家停就跟着停;如果当前是黄灯,那么很快就要变成红灯了,于是应该停下来。麻烦的是,当灯的颜色无法判断时,前方两米内没有人……本题就请你写一个程序,通过产生不同的提示音来帮助红绿色盲患者判断当前交通灯的颜色;但当患者可以自行判断的时候(例如黄灯或者前方两米内有人),就不做多余的打扰。

2025-03-29 21:00:18 496

原创 L1-8 编程团体赛(PAT)

编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。

2025-03-27 21:35:23 432

原创 L1-6 不变初心数(PAT)

不变初心数是指这样一种特别的数,它分别乘 2、3、4、5、6、7、8、9 时,所得乘积各位数之和却不变。例如 18 就是这样的数:18 的 2 倍是 36,3+6=9;18 的 3 倍是 54,5+4=9;…… 18 的 9 倍是 162,1+6+2=9。对于 18 而言,9 就是它的初心。本题要求你判断任一个给定的数是否有不变的初心。

2025-03-27 19:30:32 506

原创 L1-5 6翻了(PAT)

666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。

2025-03-27 16:22:48 591

原创 重点知识掌握

1.if((x*x+y*y+z*z)==3*x*y*z) //亦可pow(x,2)*pow(y,2)*pow(z,2);(但记得头文件要写<cmath>)

2025-03-26 20:58:10 93

原创 L1-7 整除光棍(模拟长除法)

然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。//因为l初始化为1,则一开始就存在1,故n初始化不为0,为1。//因为l初始化为1,则一开始就存在1,故n初始化不为0,为1。while(l%x!

2025-03-26 20:48:56 257

原创 L1-6 吃火锅(PAT)

以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有。

2025-03-20 15:20:13 1422

原创 L1-5 胎压监测(PAT)

小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序,随时监测四轮的胎压,并给出正确的报警信息。

2025-03-20 10:47:58 1397

原创 L1-4 调和平均(PAT)

N 个正数的是这些数的和除以 N,它们的是它们倒数的算数平均的倒数。本题就请你计算给定的一系列正数的调和平均值。

2025-03-20 10:05:08 259

原创 L1-7 前世档案(PAT)

网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。现在我们把结论从左到右顺序编号,编号从 1 开始。这里假设回答都是简单的“是”或“否”,又假设回答“是”对应向左的路径,回答“否”对应向右的路径。给定玩家的一系列回答,请你返回其得到的结论的编号。

2025-03-19 21:08:02 1218

原创 98. 所有可达路径(Dfs)

例如正确的答案是 `1 3 5`,而不是 `1 3 5 `, 5后面没有空格!

2025-03-18 21:05:13 572

原创 70. 爬楼梯

/求的是sum,且让dp[2]=sum,则直接给出dp[2]的值。//作一个数组,因为是从0到n,所以要做n+1的长度,不能做n。//求的是n阶,则给出dp[n]的数值。//直接初始化一个从长度为3的dp数组。i++) //直接从第三阶开始遍历。i++) //直接从第三阶开始遍历。1. 1 阶 + 1 阶 + 1 阶。有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。2. 1 阶 + 2 阶。3. 2 阶 + 1 阶。

2025-03-18 10:25:09 235

原创 509. 斐波那契数

/从2开始遍历,则不会越出边界,dp[2]=dp[1]=dp[0]。//初始化dp[0]的状态。//可以发现,我们只需要维护两个数值就可以了,不需要记录整个序列。//故可把后一个数赋值给其前面的一个数,并以此类推,完成递归。//初始化dp[1]的状态。int dp[2];F(n) = F(n - 1) + F(n - 2),其中 n > 1。开始,后面的每一项数字都是前面两项数字的和。

2025-03-17 12:04:11 364

原创 77. 组合(剪枝优化)

/ n=5,K=4,path.size()为4,则5-(4-4)+1=2 则表示最大可选数2后进行完整的组合,// n=4,K=4,path.size()为0,则4-(4-0)+1=1 则表示最大可选数1后进行完整的组合。// n=4,K=4,path.size()为3,则4-(4-3)+1=4 则表示最大可选数4后进行完整的组合。{ //n-(K-path.size())计算出当前可选数字的最大边界,

2025-03-06 17:01:02 278

原创 77. 组合(回溯法)

/此时已经满足条件,path.size()==k,则进行下一轮选择,} //在原先的组合中回溯去掉尾部的元素,空出位置进行下一次的组合。vector<vector<int>>combine(int n,int k) //combine这里作的是一个接口的作用,if(path.size()==k) //作判断条件,如果path.size()==k,则当前已递归完毕,//作一个动态数组,用于存放当前递归过程已选择的元素。

2025-03-06 11:03:03 384

原创 P8218 【深进1.例1】求区间和(前缀和)

/上半段为O(n),下半段为O(m),故总时间复杂度为 O(n+m)。给定 n 个正整数组成的数列 a1​,a2​,⋯,an​ 和 m 个区间 [li​,ri​],分别求这 m 个区间的区间和。//如s[1]=s[0]+a[1],需知s[0]的具体数值。接下来 m 行,每行为两个正整数 li​,ri​ ,满足1≤li​≤ri​≤n。对于 100% 的数据:1≤n,m≤105,1≤ai​≤104。第二行,为 n 个正整数 a1​,a2​,⋯,an​。

2025-03-03 19:43:10 449

原创 P1638 逛画展

游客在购买门票时必须说明两个数字,a 和 b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a,b)之间的所有图画,而门票的价钱就是一张图画一元。//表示当前对应的画师的画作数量加一。if(cnt[a[j]]==1) //表示这是第一次有新画师的画作。if(cnt[a[i]]==0) //表示当前区间画师已无画作。//cnt[2005]是记录当前对应的画师的所有画数作。//num表示的是当前包含在内拥有画数作的所有画师。//a[1000005]是n输入的存储数组。

2025-03-03 16:35:39 690

原创 P1102 A-B 数对(双指针)

//求出a[i]-a[k]的差,当其等于c时,左边界停止右移。} //求出a[j]-a[k]的差,当其大于c时,右边界停止右移。给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。//这里是从a[0+1]=a[1]开始排序的,因为上面遍历是从a[1]开始的,对于 100% 的数据,1≤N≤2×105,0≤ai​<230,1≤C<230。第一行,两个正整数 N,C。

2025-03-01 19:48:23 331

原创 双指针查找

输入 n 个不超过 109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a1​,a2​,…,an​,然后进行 m 次询问。对于每次询问,给出一个整数 q,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 −1。

2025-03-01 16:02:03 323

原创 二分查找算法

while(l+1<r) //在(0,n+1)中,0和n+1都不包含在内,这么做是为了更好地区分边界,让0和n+1不会越界。//作开区间,方便函数能查询到全局的元素,确保(0,n+1)的数都在里面。if(a[mid]>=q) //取中间坐标的元素,若其大于q,则说明q在左边,可行区在右边。//当a[r]与q相等时,直接输出r,不等时则输出-1。//则应首先移动r,让r=mid,r往左边靠,离寻找值q更近。//输入完后运用函数二分查找出来位置 ,后面再直接输出出来。

2025-02-28 11:31:04 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除