IOI周赛24-普及组

Author: , 验题人:

各题时空限制规定:

题号 时间 空间 是否开启O2优化
A
B
C
D

A:二进制?十进制!

题目描述:

给定两个整数 : ,

你需要把它们的二进制形式十进制的运算法则相加输出结果。

例如:

的时候, 的二进制表示是 : , 的二进制表示是 ,你需要输出答案为 :

输入格式

一行两个整数: ,

输出格式:

一行一个整数,表示相加的结果。

样例

样例一:

输入:
2 3
输出:
21

样例二:

输入:
4 5
输出:
201

提示与说明:

对于 % 的数据:

对于 % 的数据:

关于一个十进制数如何转化为二进制:

将十进制数每次除以 ,取余数,直到这个数变为0,最后将得到的余数反向记录就是原十进制数的二进制形式。

例子:

10 -----> 5 余下 0
5 ------> 2 余下 1
2 ------> 1 余下 0
1 ------> 0 余下 1

最后得到 的二进制表示就是

B:数字串

题目描述

给定两个正整数 ,还有一个数字串 (由 0 ~ 9 等数字组成),问现在数字串里面有多少个不同子段 组成的数(把字串这一段提出来形成的数字) 满足:

给定的 没有前导零。

数字串可能有前导零,并且对于给定的数字串中,选出来的子段可以有前导零。两个子段的左端点的位置或者右端点的位置不一样即说两个子段不一样。

输入格式:

第一行两个整数:

第二行一个字符串: 代表给定数字串

输出格式:

一行,一个整数,表示有多少个子段满足条件。

样例组:

样例一:

输入:

2 5
13254

输出:

4
样例二:

输入:

1 100
10015478

输出:

16

提示与说明:

样例二解释:

满足条件的子段分别为:
(以标号 1 为第一个数字)

数据范围保证:

个测试点 : ,

( 表示数字串长度)

以及 第 个测试点 保证:

,

到第 个测试点 :

,

C.银杏林

题目背景

众所周知 XX校园里有一片银杏林。

众所周知 XX校园里的阳光十分奇怪。

题目描述

小 Y 每天上学和放学都会穿过这片银杏林;

银杏林可以看作一片 的矩形区域,上面有一些银杏树,空地;

其中有一些从 开始的,八联通的小路;

小 Y 很喜欢晒太阳,但树会挡住阳光;

现在需要回答 个询问,每次都要回答太阳从不同方向照来时小路上有多少处有阳光;

ps.阳光可以抽象为平面直角坐标系上与 x 轴正半轴交点坐标为整数或 y 轴正半轴交点坐标为整数的若干条平行射线

输入格式

第一行 给定 同题面;

~ 行给定 行长为 的字符串,其中 代表空地, 代表银杏树, 代表小路;

行给定 表示询问数量;

对于每个询问给出两个整数 表示阳光的方向(即一个向量的坐标表示);

解释:

表示的是向量在 平面内一对 单位正交基底 的坐标,但是它的方向就代表了阳光的方向,

坐标系如下:

这里的意思是,例如:

的时候表示阳光从 给定矩形的左下方 射向 给定矩形的右上方

的时候表示阳光从 给定矩形的右上方 射向 给定矩形的左下方

请尽量自行联系描述以及上面的例子理解。

特别注意:(不存在 < ) 的情况!

这里规定 && 不同时等于 !

输出格式

对于每个询问,请输出一行一个整数即此时被阳光照到的 的数量

输入输出样例

输入 #1

3 3
TRR
TRT
RTT
3
2 1
0 1
1 0

输出 #1

2
1
1

输入 #2

3 3
TRR
TRT
RRT
3
1 2
1 1
0 1

输出 #2

1
4
4

输入 #3

3 3
TRR
RRT
RTT
4
-2 -1
-1 -2
-1 -1
-1 0

输出 # 3

2
2
5
2

样例一解释:

下图中黄色点表示银杏树,绿色点表示小路,橙色线条代表阳光。

询问一:

询问二:

询问三:

数据范围:

对于 % 的数据保证:

对于 % 的数据保证: 但不保证

对于 % 的数据保证: , (注意是 ) ,

D.桃花村

题目背景:

桃花村起火了。

题目描述:

根据村民提供的信息, 间村舍都等距离排在一排,我们可以抽象的看作是数轴上连续的一排点,并且将其从左至右编号为 ~ 。每间村舍都有一个燃烧增剧度

村民会告诉你第一间被点燃的村舍的编号 ,村舍从被点燃的那一刻起计算,每过一小时火势就会向左右两边村舍蔓延,旁边的村舍就会被点燃,当然,已经被点燃的房屋不会被重复点燃。

同时每间被点燃的村舍 每隔一小时燃烧剧烈程度 都会加上 (刚被点燃的时候燃烧剧烈程度为0)。

村长预测到村舍甚至有可能会因为剧烈燃烧而爆炸,会给出 个信息。信息的形式分为两种:

  • ,接下来两个整数 就表示在距离第一间村舍着火后的 小时后,所有燃烧剧烈程度 等于 的房子都会爆炸,如果不存在满足条件的屋舍就不会爆炸。

  • ,接下来一个整数 就表示村长询问你,在第一间村舍着火后的 小时内(包含)一共发生了多少次爆炸(任意屋舍爆炸一次都算爆炸)。

对于所有 的信息你都要给出回答,并且每个回答输出一行一个整数表示屋舍爆炸的次数。

特别注意:

第一间屋舍 被点燃时算是第 小时,它会在第 小时的时候点燃旁边两间房屋并且自己的燃烧剧烈程度 加上 。房屋爆炸后仍然会存在,可能接下来它会继续爆炸!

保证给出信息 单调不减!

输入格式

第一行三个整数: , ,

第二行 个正整数: 第 个整数表示

接下来的 行:

行给出整数 :,

特别的,如果 ,那么第 行还要输入一个整数

输出格式:

对于每一行 的信息输出一行,表示截至到 发生过多少次爆炸。

样例组:

输入

4 3 1
4 1 2 3
1 0 0
1 1 1
2 2

输出:

1

输入:

10 10 10
8 6 3 3 1 1 2 10 7 10 
1 1 10
2 6 
1 8 6
2 12 
2 13 
2 17 
1 19 190
2 23 
1 25 128
1 30 26

输出:

1
2
2
2
3

提示说明:

样例解释:

一开始 , 第 小时的时候,房屋 ① 刚开始燃烧,这时候其 燃烧剧烈程度 , 根据信息1可知这时候它发生了爆炸。然后,第 小时的时候,房屋 ② 也开始了燃烧,但是它的燃烧剧烈程度还是 ,最后回答在第 小时的时候共爆炸了1次。

对于 % 的数据保证:

对于 % 的数据保证:

对于 % 的数据保证:

对于 % 的数据保证:

对于 % 的数据保证:

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务