CSP-J复赛-模拟题4

1.区间覆盖问题: 

题目描述

给定一个长度为n的序列1,2,...,a1​,a2​,...,an​。你可以对该序列执行区间覆盖操作,即将区间[l,r]中的数字,+1,...,al​,al+1​,...,ar​全部修改成同一个数字。

现在有T次操作,每次操作由l,r,p,k四个值组成,表示将原数组的[l,r]区间所有数字修改为p,请你判断修改之后的序列所有数字之和能否被k整除?如果可以请输出"Yes",否则输出"No"。

输入格式

  • 第一行,两个整数n,T,表示序列长度n,以及T次操作询问。

  • 第二行,n个整数1,2,...,a1​,a2​,...,an​表示原序列。

接下来的T行

  • 每行四个整数l,r,p,k含义如题目描述所示。

需要注意的是,每次操作询问之后都不会对原序列进行修改,即每次操作都是在原序列上直接进行的。

输出格式

输出共T行,每行一个整数,表示当前操作询问的结果。

输入输出样例

输入 #1

5 2
4 7 1 2 8
3 5 3 4
2 4 1 5

输出 #1

Yes
Yes
 

说明/提示

数据范围:

对于30%30%的数据点,保证n≤10,T≤10.

对于70%70%的数据点,保证n≤5⋅103,T≤103.

对于100%100%的数据点,保证T≤106,−109≤ai​≤109,1≤l≤r≤n,1≤k,p≤109 .

2.神秘数码:

题目描述

小C发现在自然数中,有很多的数字是神秘的,这些神秘的数字都有一个共同的特性,就是可以表示成2x⋅3y的形式。譬如,1=2^0⋅3^0,12=2^2⋅3^1都是神秘数字。

请你求出[l,r]范围内一共有多少个神秘数字?

输入格式

输入仅一行,两个数字l,r表示查询的区间

输出格式

输出仅一个整数,表示区间[l,r]范围内有多少个神秘数字。

输入输出样例

输入 #1

1 10

输出 #1

7

输入 #2

100 200

输出 #2

5

说明/提示

样例解释:

对于样例1:1 2 3 4 6 8 9都是神秘数字

对于样例2:108 128 144 162 192是神秘数字

数据范围:

对于20%的数据,保证l,r≤10

对于40%的数据,保证l,r≤10^3

对于60%的数据,保证l,r≤10^6

对于80%的数据,保证l,r≤10^9

对于100%的数据,保证l,r≤10^18

3.判断回文串:

题目描述

MR.K有一些字符串,他希望你来帮助他判断每个字符串是不是回文的。

回文串的定义是:如果一个字符串S翻转之后和原字符串一模一样,那么就认为这个字符串是回文的。当然,我们在判断字母是否相等时,请忽略大小写。

输入格式

第一行,一个整数n,表示接下来将会有n个字符串,每个字符串都仅由英文字母构成(包含大小写字母)

接下来n行,每行一个字符串si​。

输出格式

输出共n行,每行一个Yes或No表示字符串是否回文,是回文串的话请输出Yes, 否则请输出No.

输入输出样例

输入 #1

3
AbcBa
AAAba
CHKotyTOkHv
 

输出 #1

Yes
No
No
 

说明/提示

对于20%的数据,保证字符串中仅包含小写字母。

对于100%的数据,保证n≤100,∣si​∣≤10^3,其中∣si​∣表示字符串长度。

4.幸运的string lucky:

题目描述

Jerry认为,当一个字符串S满足如下特点时:

  • S的长度∣S∣恰好等于5;

  • S的第3,53,5个字符是同一个字符;

  • S的前44个字符各不相同;

那么这个字符串会给他带来好运。

例如henan就是一个幸运的字符串,而query,problem,queue就不能被称作幸运的字符串。

现在Jerry拿出了一大把新鲜出炉的字符串1,2,...,S1​,S2​,...,Sn​,请你帮助他求出这些字符串中一共有多少个幸运的字符串。

输入格式

输入第一行,一个正整数n表示n个字符串。

接下来的n行,每行一个字符串Si​.

输出格式

输出仅一行,一个数字,表示幸运字符串的数量。

输入输出样例

输入 #1

4
henan
query
problem
queue
 

输出 #1

1
 

说明/提示

数据范围:

对于30%的数据点,保证n≤10,并且保证字符串长度∣Si​∣=5.

对于60%的数据点,保证n≤103,并且所有字符串仅由小写字母组成.

对于100%的数据点,保证n≤105,所有字符串仅由英文字母与数字组成,并且保证字符串长度∣Si​∣≤20.

5.逛庙会:

题目描述

罗老师在过年期间闲来无事,于是他去逛了一下家乡的庙会,顺便买些糖果为新的一年做准备。

罗老师家乡的庙会里一共有n个摊位,按顺时针在庙会周围 围成了一圈。每个摊位上都有充足的糖果,但是价格不一样:第i个摊位的糖果价格为ci​。罗老师准备了S元钱,现在他要去逛庙会了。

因为实在闲的无聊,罗老师决定从11号摊位开始顺时针逛庙会,每次当他路过一个摊位,如果他买的起这个摊位上的糖果,他就会购买一个糖果;无论他是否购买了糖果,他都会前往下一个摊位,直到他买不起任何一个摊位上的糖果时才会选择回家。

请问罗老师一共会购买多少个糖果?

输入格式

第一行,两个整数n,S,表示庙会上一共有n个摊位,以及罗老师带了S元钱出门。

第二行n个正整数1,2,...,c1​,c2​,...,cn​,表示每个摊位上的糖果价格。

输出格式

一个正整数,表示罗老师够买的糖果个数。

输入输出样例

输入 #1

3 38
5 2 5
 

输出 #1

10
 

输入 #2

5 21
2 4 100 2 6
 

输出 #2

6
 

说明/提示

样例解释:

对于样例1,绕着庙会逛的前三圈,每到一个摊位都会购买当前摊位的一个糖果,这三圈结束后还剩余2元钱;之后会到第二个摊位购买一个糖果,剩余钱数0元,选择回家。

一共购买了10个糖果。

对于样例2,绕着庙会逛第一圈,会购买1,2,4,51,2,4,5这四个摊位上的糖果,剩余7元钱;

第二圈,会购买第1,21,2个摊位上的糖果,剩余1元钱;此时选择回家。

一共购买了6个糖果。

数据范围:

对于20%20%的数据,保证n≤5,S≤10^2

对于50%50%的数据,保证n≤10^3,S≤10^5

对于80%80%的数据,保证n≤10^5,S≤10^9

对于100%100%的数据,保证n≤10^6,S≤10^18,ci​≤10^9

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值