
蓝桥杯
psogos
这个作者很懒,什么都没留下…
展开
-
试题 算法训练 字符删除
问题描述 编写一个程序,第一行输入一个字符串str(长度不超过20),第二行输入单独的一个字符ch。要求程序把字符串str当中所有的ch字符都删除,从而得到一个新的字符串,输出新的字符串。样例输入123-45-678-样例输出12345678题解#include<iostream>#include<string>using namespace std;int main(){ string s; getline(cin,s); char原创 2022-01-25 18:25:00 · 697 阅读 · 0 评论 -
试题 算法训练 Anagrams问题
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,Unclear和Nuclear、Rimon和MinOR都是Anagrams。 编写一个程序,输入两个单词(只包含英文字母,且每一个单词的长度不会超过80个字符),判断这两个单词是否是Anagrams,如果是则输出“yes”,否则输出“no”。样例输入Unclear Nuclear样例输出yes题解#include<iostream&g原创 2022-01-24 13:08:24 · 361 阅读 · 0 评论 -
试题 算法训练 素因子去重
问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1输入格式 一个整数,表示n输出格式 输出一行,包含一个整数p。样例输入1000样例输出10数据规模和约定 n<=10^12 样例解释:n=1000=2^3*5*3,p=2*5=10题解#include<iostream>using namespace std;int main(){ long long n,k=1;原创 2022-01-23 17:14:18 · 272 阅读 · 0 评论 -
试题 算法训练 计算众数
问题描述 编写一个程序,计算递增数组的众数。程序第一行输入n(1≤n≤20),表示数组的长度;第二行输入数组中各个元素的值。输出数组中出现次数最多的元素。如果有两个元素出现的次数相同,即并列第一,那么只输出较小的那个元素。(注:输入的数组是递增数组,已经排好序,程序中不需要进行排序)样例输入6100 150 150 200 200 250样例输出150题解#include<iostream>using namespace std;const int INF=原创 2022-01-23 17:06:02 · 718 阅读 · 0 评论 -
试题 历届真题 生物芯片【第五届】【决赛】【B组】
X博士正在研究一种生物芯片,其逻辑密集度、容量都远远高于普通的半导体芯片。 博士在芯片中设计了 n 个微型光源,每个光源操作一次就会改变其状态,即:点亮转为关闭,或关闭转为点亮。 这些光源的编号从 1 到 n,开始的时候所有光源都是关闭的。 博士计划在芯片上执行如下动作: 所有编号为2的倍数的光源操作一次,也就是把 2 4 6 8 ... 等序号光源打开 所有编号为3的倍数的光源操作一次, 也就是对 3 6 9 ... 等序号光源操作,注意此时6号光源又关闭了。 所有编号为4的倍数的原创 2022-01-22 16:04:04 · 204 阅读 · 0 评论 -
试题 算法训练 按位输出数字
问题描述 设计一个程序,从键盘输入一个不超过5位的正整数(即1~99999),按顺序输出其所有数字,中间用一个空格格开,要求使用if语句编写。例如,如果用户从键盘输入123,则程序输出1 2 3。输入格式 输入一个整数n输出格式 输出这个整数的每位数字,以空格隔开。样例输入123样例输出1 2 3数据规模和约定 1<=n<=99999题解#include<iostream>#include<vector>u原创 2022-01-22 14:15:29 · 367 阅读 · 0 评论 -
试题 算法训练 数的划分
问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。输入格式 n,k输出格式 一个整数,即不同的分法样例输入7 3样例输出4 {四种分法为:1,1,5;1,2,4;1,3,3;2,2,3;}数据规模和约定 6<n<=200,2<=k<=6题解#include<ios原创 2022-01-22 14:11:31 · 340 阅读 · 0 评论 -
试题 算法训练 绘制地图
问题描述 最近,WYF正准备参观他的点卡工厂。WYF集团的经理氰垃圾需要帮助WYF设计参“观”路线。现在,氰垃圾知道一下几件事情: 1.WYF的点卡工厂构成一颗二叉树。 2.一共有n座工厂。 3.他需要把这颗树上的点以后序遍历的方法列出来,才能绘制地图。 还好,最近他的属下给了他先序遍历和中序遍历的数据。可是,氰垃圾最近还要帮㊎澤穻解决一些问题,没有时间。请你帮帮他,替他完成这项任务。由于氰垃圾的一些特殊的要求,WYF的参观路线将会是这棵树的后序遍历。输入格式 第一行一个整数原创 2022-01-21 19:34:16 · 98 阅读 · 0 评论 -
试题 算法训练 进击的青蛙
问题描述 青蛙X正准备跳过一座桥,这座桥被划分为N段,记青蛙所在的起始点为0,桥的末端为N。桥上的一些点有一些石子,这些点是无法跳上去的。青蛙每次跳跃能向前跳跃+1,+2,+3段,现在请你算出跳到末端的总方法数。如果无法到达,请输出”No Way!"输入格式 输入数据共N行。 第一行一个数字N,代表桥的长度。 接下来N行,表示从点1~N的道路情况,每行一个数字0或1,1表示有石子。输出格式 输出一行,为一个整数,代表方法数,无法到达为“No Way!" 由于数据过大,我原创 2022-01-21 19:16:20 · 916 阅读 · 0 评论 -
试题 算法提高 唯一
问题描述 读入n个数。找出唯一一个出现了奇数次的数。读入格式 第一行一个数n。 接下来n行每行一个数。 保证只有一个出现了奇数次的数。输出格式 一行一个数表示所求的数。样例输入13537295210413413210413210413210537537537样例输出295数据规模和约定 对于30%的数据,n≤1030。 对于100%的数据,n≤2000001,所有输入的数字都能使用32位长整形存储。题解#in原创 2022-01-20 16:30:28 · 472 阅读 · 0 评论 -
试题 算法提高 扶老奶奶过街
一共有5个红领巾,编号分别为A、B、C、D、E,老奶奶被他们其中一个扶过了马路。 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C和E其中一个扶过大街的 C :老奶奶是被我和D其中一个扶过大街的 D :B和C都没有扶老奶奶过街 E :我没有扶老奶奶 已知五个红领巾中有且只有2个人说的是真话,请问是谁扶这老奶奶过了街? 若有多个答案,在一行中输出,编号之间用空格隔开。 例如 A B C D E(这显然不是正确答案) 题解#in...原创 2022-01-20 15:37:08 · 119 阅读 · 0 评论 -
试题 历届真题 完全二叉树的权值【第十届】【省赛】【B组】
题解 #include<iostream>#include<algorithm>using namespace std;int a[100005];long long maxn=-1e18;int main(){ long long n; cin>>n; int depth=1; int ans=1; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n..原创 2022-01-19 16:43:31 · 1066 阅读 · 0 评论 -
试题 算法提高 秘密行动
问题描述 小D接到一项任务,要求他爬到一座n层大厦的顶端与神秘人物会面。这座大厦有一个神奇的特点,每层的高度都不一样,同时,小D也拥有一项特殊能力,可以一次向上跳跃一层或两层,但是这项能力无法连续使用。已知向上1高度消耗的时间为1,跳跃不消耗时间。由于事态紧急,小D想知道他最少需要多少时间到达顶层。输入格式 第一行包含一个整数n,代表楼的高度。 接下来n行每行一个整数ai,代表i层的楼层高度(ai <= 100)。输出格式 输出1行,包含一个整数,表示所需的最短时间。原创 2022-01-19 16:14:33 · 112 阅读 · 0 评论 -
试题 算法提高 最小字符串
问题描述 给定一些字符串(只包含小写字母),要求将他们串起来构成一个字典序最小的字符串。输入格式 第一行T,表示有T组数据。 接下来T组数据 每组第一行一个正整数n,表示字符串个数。 接下来n行,每行一个字符串(长度不超过100)。输出格式 T行,每行一个字符串。样例输入13abc样例输出abc数据规模和约定 T<=7000,n<=100;题解#include<iostream>#include<原创 2022-01-19 15:43:45 · 1178 阅读 · 1 评论 -
试题 算法训练 铺地板
问题描述 有一条长度为n的过道,很窄,只有一个地板砖宽。地板砖有两个规格,一种长度为1,一种长度为2。数量无限多。现在想知道一共有多少种地板铺法。比如当n=3时,共有三种铺法:1 1 1;1 2;2 1;输入格式 一个整数n,表示过道的长度n输出格式 一个整数,表示铺地板的方案数样例输入3样例输出3数据规模和约定 n小于32题解#include<iostream>using namespace std;const int N=33原创 2022-01-19 14:59:09 · 564 阅读 · 0 评论 -
试题 历届真题 冰雹数【第七届】【省赛】【C组】
任意给定一个正整数N, 如果是偶数,执行: N / 2 如果是奇数,执行: N * 3 + 1 生成的新的数字再执行同样的动作,循环往复。 通过观察发现,这个数字会一会儿上升到很高, 一会儿又降落下来。 就这样起起落落的,但最终必会落到“1” 这有点像小冰雹粒子在冰雹云中翻滚增长的样子。 比如N=9 9,28,14,7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1 可以看到,N=9的时候,这个“小冰雹”最高冲到了52这个高度。原创 2022-01-18 14:55:03 · 385 阅读 · 0 评论 -
试题 历届真题 k倍区间【第八届】【省赛】【B组】
给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗?输入格式 ----- 第一行包含两个整数N和K。(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai。(1 <= Ai <= 100000)输出格式 ----- 输出一个整数,代表K倍区间的数目。 例原创 2022-01-18 14:29:45 · 450 阅读 · 0 评论 -
试题 历届真题 递增三元组【第九届】【省赛】【B组】
给定三个整数数组 A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN], 请你统计有多少个三元组(i, j, k) 满足: 1. 1 <= i, j, k <= N 2. Ai < Bj < Ck输入格式 第一行包含一个整数N。 第二行包含N个整数A1, A2, ... AN。 第三行包含N个整数B1, B2, ... BN。 第四行包含N个整数C1, C2, .原创 2022-01-13 14:07:04 · 422 阅读 · 0 评论 -
试题 算法训练 拿金币
问题描述 有一个N x N的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币。你站在最左上角的格子里,每次可以从一个格子走到它右边或下边的格子里。请问如何走才能拿到最多的金币。输入格式 第一行输入一个正整数n。 以下n行描述该方格。金币数保证是不超过1000的正整数。输出格式 最多能拿金币数量。样例输入31 3 32 2 23 1 2样例输出11数据规模和约定 n<=1000题解#include<iostrea原创 2022-01-12 16:54:15 · 164 阅读 · 0 评论 -
试题 算法训练 最大的算式
问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如: N=5,K=2,5个数字分别为1、2、3、4、5,可以加成: 1*2*(3+4+5)=24 1*(2+3)*(4+5)=45 (1*2+3)*(4+5)=45 ……输入格式 输入文件共有二行,第一行为两个有空格隔开的整数,表示N和K,其中(2<=N<=1原创 2022-01-12 16:40:57 · 134 阅读 · 0 评论 -
试题 算法训练 未名湖边的烦恼
问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式 两个整数,表示m和n输出格式 一个整数,表示队伍的排法的方案数。样例输入3 2样例输出5数据规模和约定 m,原创 2022-01-12 16:04:58 · 107 阅读 · 0 评论 -
试题 算法训练 K好数
问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对1000000007取模后的值。样例输入4 2样例输出7数据规模与约定对于30%的数据,KL <= 106原创 2022-01-12 14:46:45 · 99 阅读 · 0 评论 -
试题 历届真题 等差数列【第十届】【省赛】【B组】
问题描述 数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。 现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?输入格式 输入的第一行包含一个整数 N。 第二行包含 N 个整数 A₁, A₂, · · · , AN。(注意 A₁ ∼ AN 并不一定是按等差数列中的顺序给出)输出格式 输出一个整数表示答案。样例输入52 6 4 10 20样例输出10样例说明 包含 2、6、原创 2022-01-12 02:43:20 · 711 阅读 · 0 评论 -
试题 历届真题 特别数的和【第十届】【省赛】【B组】
问题描述 小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?输入格式 输入一行包含两个整数 n。输出格式 输出一行,包含一个整数,表示满足条件的数的和。样例输入40样例输出574评测用例规模与约定 对于 20% 的评测用例,1 ≤ n ≤ 10。 对于 50% 的评测用例,1原创 2022-01-12 02:13:18 · 204 阅读 · 0 评论 -
试题 历届试题 单词分析【第十一届】【省赛】【C组】
问题描述小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。输入格式输入一行包含一个单词,单词只由小写英文字母组成。输出格式输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最小的那个原创 2022-01-12 02:02:12 · 395 阅读 · 0 评论 -
试题 历届试题 成绩统计【第十一届】【省赛】【C组】
问题描述小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。输入格式输入的第一行包含一个整数 n,表示考试人数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。输出格式输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。样例输入原创 2022-01-12 01:45:50 · 489 阅读 · 0 评论 -
蓝桥杯模拟赛赛前训练(水题)
1.1200000有多少个约数(只计算正约数)。#include<iostream>#include<algorithm>#include<math.h>#include<string>#include <set> #include <queue>using namespace std;int main(){ int ans=0; int i; for( i=1;i<sqrt(1200000);i原创 2021-12-22 10:10:45 · 184 阅读 · 0 评论 -
字节的转换
8位=1字节1024B=1KB1024KB=1MB1024MB=1GB1024GB=1TB原创 2021-12-21 22:29:35 · 135 阅读 · 0 评论 -
ADV-20. 交换Easy
问题描述 给定N个整数组成的序列,每次交换当前第x个与第y个整数,要求输出最终的序列。 输⼊格式 第⼀⾏为序列的⼤⼩N(1<=N<=1000)和操作个数M(1<=M<=1000)。 第⼆⾏包含N个数字,表示初始序列。 接下来M⾏,每⾏两个整数x,y (1<=x,y<=N),表示要交换的两个整数。在⼀次交换中,如果x和y 相等,则不会改变序列的内容。 输出格式 输出N⾏,为交换后的序列中的数。 样例输⼊ 5 2原创 2021-12-21 21:07:18 · 265 阅读 · 0 评论 -
ADV-16. 和最⼤⼦序列
问题描述 对于⼀个给定的⻓度为N的整数序列A,它的“⼦序列”的定义是:A中⾮空的⼀段连续的元素(整 数)。你要完成的任务是,在所有可能的⼦序列中,找到⼀个⼦序列,该⼦序列中所有元素的和是最⼤的(跟其他所有⼦序列相⽐)。程序要求你输出这个最⼤值。 输⼊格式 输⼊⽂件的第⼀⾏包含⼀个整数N,第⼆⾏包含N个整数,表示A。 其中 1 <= N <= 100000 -10000 <= A[i] <= 10000 输出格式 输出仅包含⼀个整数,表示你算出的答案原创 2021-12-21 20:58:21 · 128 阅读 · 0 评论 -
蓝桥杯小技巧整理(混分法)
一、使用Excel解决问题1.计算一个日期后几天的的日期例:计算2000年1月1日后625天的日期是多少?方法:输入2000/1/1,然后下拉2.已知一个日期是第几天,得到另一个日期是第几天例:已知2000年1月1日是那年的第一天,2000年4月26日是那年的第几天?方法:分别输入两个日期,直接相减,得到日期再加一,如题为第117天3.计算某一天为礼拜几例:已知2000年1月1日是礼拜几?方法:直接输入公式使用WEEKDAY函数二、使用计算器解决问题...原创 2021-12-21 20:44:17 · 5144 阅读 · 0 评论 -
ALGO-113. 数的统计
问题描述 在⼀个有限的正整数序列中,有些数会多次重复出现在这个序列中。 如序列:3,1,2,1,5,1,2。其中1就出现3次,2出现2次,3出现1 次,5出现1次。 你的任务是对于给定的正整数序列,从⼩到⼤依次输出序列中出现的数及出现的次数。 输⼊格式 第⼀⾏正整数n,表示给定序列中正整数的个数。 第⼆⾏是n 个⽤空格隔开的正整数x,代表给定的序列。 输出格式 若⼲⾏,每⾏两个⽤⼀个空格隔开的数,第⼀个是数列中出现的数,第⼆个是该数在序列中出现 的次原创 2021-12-21 19:55:39 · 240 阅读 · 0 评论 -
ALGO-111. 明明的随机数(set的使用)
问题描述 明明想在学校中请⼀些同学⼀起做⼀项问卷调查,为了实验的客观性,他先⽤计算机⽣成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留⼀个,把其余相同的数去掉,不同的数对应着不同的学⽣的学号。然后再把这些数从⼩到⼤排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的⼯作。 输⼊格式 输⼊有2⾏,第1⾏为1个正整数,表示所⽣成的随机数的个数:N 第2⾏有N个⽤空格隔开的正整数,为所产⽣的随机数。 输出格式 输出也是2⾏,第原创 2021-12-21 19:48:03 · 190 阅读 · 0 评论 -
ADV-13. 最⼩乘积(提⾼型)
问题描述 给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最⼩。要求程序输出 这个最⼩值。 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最⼩值应为: (-5) * 4 + 3 * (-2) + 1 * 1 = -25 输⼊格式 第⼀个⾏⼀个数T表示数据组数。后⾯每组数据,先读⼊⼀个n,接下来两⾏每⾏n个数,每个数的绝 对值⼩于等于1000。 n<=1000,T<=10 输出格式 ⼀个数表原创 2021-12-21 15:29:17 · 100 阅读 · 0 评论 -
ADV-233. 队列操作
下次补题~借这道题复习了一下STL中队列的操作用法#include<iostream>#include<algorithm>#include<math.h>#include<string>#include <set> #include <queue>using namespace std;int main() { int n; cin>>n; queue<int> Q;原创 2021-12-21 12:32:07 · 107 阅读 · 0 评论 -
ADV-204. 快速幂
问题描述 给定A, B, P,求(A^B) mod P。 输⼊格式 输⼊共⼀⾏。 第⼀⾏有三个数,N, M, P。 输出格式 输出共⼀⾏,表示所求。 样例输⼊ 2 5 3 样例输出 2数据规模和约定 共10组数据 对100%的数据,A, B为long long范围内的⾮负整数,P为int内的⾮负整数。感觉还处在得背模板的阶段。。#include<iostream>#include<algorithm>#原创 2021-12-21 12:07:10 · 91 阅读 · 0 评论 -
Dynamic Programming(动态规划)
刚开始学动态规划,想通过几个例题来巩固一下。题目一:ADV-202. 最⻓公共⼦序列(动态规划)问题描述 给定两个字符串,寻找这两个字串之间的最⻓公共⼦序列。 输⼊格式 输⼊两⾏,分别包含⼀个字符串,仅含有⼩写字⺟。 输出格式 最⻓公共⼦序列的⻓度。 样例输⼊ abcdgh aedfhb 样例输出 3 样例说明 最⻓公共⼦序列为a,d,h。 数据规模和约定 字串⻓度1~1000。很典型的longest common原创 2021-12-21 11:25:15 · 102 阅读 · 0 评论 -
ALGO-28. 星际交流
先附代码,下次来补题~~就是一个next_permutation的使用#include<iostream>#include<algorithm>#include<math.h>#include<string>#include<set> using namespace std;int main(){int n,m;cin>>n>>m;int a[10001];for(int i=0;i原创 2021-12-21 10:12:30 · 169 阅读 · 0 评论 -
ADV-181. 质因数2
将⼀个正整数N(1<N<32768)分解质因数,把质因数按从⼩到⼤的顺序输出。最后输出质因数的个 数。 输⼊格式 ⼀⾏,⼀个正整数 输出格式 两⾏,第⼀⾏为⽤空格分开的质因数 第⼆⾏为质因数的个数 样例输⼊ 66 样例输出 2 3 11 3 样例输⼊ 90 样例输出 2 3 3 5 4 样例输⼊ 37 样例输出 37 1 仿着柳婼的代码写了一个,由于之前在一个.cpp文件里还写了别的代码,会原创 2021-12-20 23:38:27 · 164 阅读 · 0 评论 -
ADV-105. 不同单词个数统计
问题描述 编写⼀个程序,输⼊⼀个句⼦,然后统计出这个句⼦当中不同的单词个数。例如:对于句⼦“one little two little three little boys”,总共有5个不同的单词:one, little, two, three, boys。 说明:(1)由于句⼦当中包含有空格,所以应该⽤gets函数来输⼊这个句⼦;(2)输⼊的句⼦当中只包含英⽂字符和空格,单词之间⽤⼀个空格隔开;(3)不⽤考虑单词的⼤⼩写,假设输⼊的都是⼩写字符;(4)句⼦⻓度不超过100个字符原创 2021-12-20 23:27:38 · 133 阅读 · 0 评论