最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

杨校老师竞赛课之C++备战蓝桥杯初级组省赛

网站源码admin4浏览0评论

杨校老师竞赛课之C++备战蓝桥杯初级组省赛

  1. 1. 灯塔

时间限制:2秒 内存限制:256M

题目描述

有 n 个灯塔排成一行,每一个灯塔都存储了部分能量,第 i 个灯塔的位置为 ai,能量是 bi,当第 i 个灯塔被激活后,所有在这个灯塔左边且与该灯塔距离小于等于 bi 的灯塔都会被摧毁,而该灯塔本身不会受到伤害。

陈平安从右向左依次激活每个灯塔,如果一个灯塔被摧毁了,则它无法被激活。

现在陈平安想让你帮他一个忙,陈平安决定在现有的 n 个激光塔的右边再放一个灯塔,这个灯塔的位置和威力是任意的(但必须在现有灯塔的右边)。陈平安从这个新加入的灯塔开始从右到左依次激活每个灯塔。

现在他想要知道,怎么安排这个新灯塔,可以使得被摧毁的灯塔的总数最少。

输入描述

第一行一个整数 n 表示灯塔的个数。

接下来的 n 行中的第 i 行 每行包含两个数字 ai 和 bi 表示灯塔的位置和能量。

输出描述

输出一个整数,表示最少的被摧毁的灯塔数目。

输入样例1

4 1 9 3 1 6 1 7 4

输出样例1

1

输入样例2

7

1 1

2 1

3 1

4 1

5 1

6 1

7 1

输出样例2

3

数据说明

对于 20% 的数据 n⩽1000,ai⩽1000000

对于 80% 的数据 n⩽100000,ai⩽1000000

  1. 2. 子区间

时间限制:1秒 内存限制:256M

题目描述

给定一个长为 n 的序列 a,有 n×(n+1)/2 个子区间,求这些子区间里面区间和为完全平方数的子区间个数

输入描述

第一行一个整数 n

第二行 n 个数表示序列 a

输出描述

输出一个数表示答案

输入样例

6

0 1 0 9 1 0

输出样例

11

数据说明

对于 20% 的数据 n⩽10

代码语言:javascript代码运行次数:0运行复制
#include <iostream>

using namespace std;

int main() {


	return 0;
}
  1. 3. 染色

时间限制:1秒 内存限制:512M

题目描述

陈平安需要给一个花环染色 ,花环上有 n 朵花,陈平安找到了 k 种颜料,但是每种颜料都有一个花费 wi。陈平安想要以最小的花费将花环染上颜色,但是他有一个特殊要求:花环上的连续三朵花不能是同一种颜色。

你需要帮助陈平安找出染色的最小花费。

注意 花环是环状结构

输入描述

第一行给定两个正整数 n,k (3⩽n⩽

10^5

,1⩽k⩽4)表示花的个数和颜料个数。

第二行给定 k 个正整数 wi(1⩽wi⩽

10^9

)表示每个颜色的花费。

输出描述

输出最小花费,如果不能染色,输出 NoNo

输入样例1

5 4

1 2 3 4

输出样例1

7

输入样例2

3 1

1

输出样例2

No

数据说明

对于 20%的数据 n⩽10

另有 80% 的数据 n⩽100000

  1. 4. 路灯

时间限制:1秒 内存限制:128M

题目描述

在一片神秘的森林深处,有一条通向古老废墟的小路。这条路上有一排共n个路灯,每个路灯都有不同的状态:有的灯是熄灭的(用0表示),有的是点亮的(用1表示),还有的则是闪烁的(用2表示)。

现在问题是:在这排路灯中,找出最长的连续路灯串,其中不包含亮着的灯或者不包含灭了的灯(任意一种情况均可)。你能计算出这个长度吗?

输入描述

第一行有一个整数T 表示数据组数。 T(T≤100)

接下来每组数据中第一行一个整数 n,第二行一个长度为 n 的字符串 s 表示灯的明灭,数据满足:1⩽n,∑n⩽

10^5

,siϵ0,1,2

输出描述

对于每组数据输出一行一个整数表示答案。

输入样例

3

10

0111122100

5

22222

5

01010

输出样例

7

5

1

数据说明

对于 20% 的数据 t⩽50,n⩽100

对于 20% 的数据 t⩽10,n⩽1000

另有 60% 的数据 t⩽100,n⩽100000

  1. 5. 求完数

时间限制:1秒 内存限制:128M

因子:因子也叫因数,例如3×5=153×5=15,那么3和5是15的因子。同时15×1=1515×1=15,那么1和15也是15的因子。 1,3,5,15 这四个因子是15的所有因子。 完数:如果一个数等于不含它本身的其他因子之和,则称该数为‘完数’。如6的因子有1,2,3,6,且1+2+3= 6,因此6是完数。

题目描述

输入一个正整数N(0 < N < 10000),输出小于N的所有完数及小于N的完数个数(个数前加 * ,例如:*2 )。

输入描述

输入一个正整数N(0 < N < 10000)

输出描述

输出小于N的所有完数及小于N的完数个数

样例输入

100

样例输出

6

28

*2

  1. 6. 回形取数

时间限制:1秒 内存限制:128M

题目描述

回形取数是沿着一个数字矩阵的左上角向右下开始移动取数,当前方没有数字或者数字已经被取过,就会左转继续移动取数,当没有数可取时,回形取数结束。图中的数字路线为:1,5,9,13,14,15,16,12,8,4,3,2,6,10,11,7。

输入描述

第一行输入一个正整数n,作为行数 第二行输入一个正整数m,作为列数 (0<n,m<=20)

输出描述

输出路线,每个数字之间用一个英文逗号隔开。

样例输入

4 4

样例输出

1,5,9,13,14,15,16,12,8,4,3,2,6,10,11,7

  1. 7. 国际挑战赛

时间限制:1秒 内存限制:128M

题目描述

希望少年编程挑战国际赛就要开始了,组委会计划选出 5 人代表中国队参赛,选拔条件如下:

1、个人总分=第一场得分+第二场得分。

2、排序按总分高到低排,总分相同按第二场比赛高到低排序,总分和第二场比赛 分数都相同,按准考证号小到大排序。

3、满分选手无论几人都有资格进入国际赛 。

4、总分低于 260 分的选手没有资格进入国际赛。 (满分300分)

输入描述

第一行 1 个整数 n,代表参赛人数。 接下来各行,每行 3 个整数 id,a,b,是每个参赛选手的准考证号、第一场比赛成绩和 第二场比赛的成绩。

输出描述

输出若干行,每行一个整数,代表排序后有资格参加国际赛的选手准考证号。

输入样例

6

1 80 183

2 63 68

3 67 114

4 93 148

5 95 69

6 67 142

输出样例

1

数据范围 n不大于100

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-05-05,如有侵权请联系 cloudcommunity@tencent 删除c++存储内存排序数据
发布评论

评论列表(0)

  1. 暂无评论