CSP-J模拟赛day1——试题

yjq的吉祥数

文件读写

输入文件 a v o i d . i n avoid.in avoid.in
输出文件 a v o i d . o u t avoid.out avoid.out

限制

1000ms
512MB

题目描述

众所周知, 这个数字在有些时候不是很吉利,因为它谐音为 “散”
所以yjq认为只要是 的整数次幂的数字就不吉利
现在yjq想知道,在某个范围 内,哪些数字是不吉利的?
这样他就可以避开这些数字了

输入格式

输入第一行包含两个整数 l , r l,r l,r 表示范围

输出格式

输出第一行包含一个整数表示有多少个数字
第二行从小到依次输出每个不吉利的数字

数据范围

对于 40 % 40\% 40% 的数据,满足 1 ≤ r ≤ 100 1\le r\le100 1r100
对于 80 % 80\% 80%的数据,满足 1 ≤ r ≤ 5000 1\le r\le5000 1r5000
对于 80 % 80\% 80% 的数据,满足 1 ≤ l ≤ r ≤ 1000000 1\le l\le r\le1000000 1lr1000000

样例输入1

3 16

样例输出1

2
3 9

yjq的二进制加法

文件读写

输入文件 b i n a r y . i n binary.in binary.in
输出文件 b i n a r y . o u t binary.out binary.out

限制

1000ms
512MB

题目描述

yjq最近刚刚学习了二进制加法,现在他希望自己出一些题目来锻炼一下自己
他先随便写了一个 n n n 位的二进制数字 x x x
接下来他会进行 m m m次加法运算,每次运算就是给 x x x加上 2 k 2^k 2k对应的二进制数字

但是他突发奇想,想知道每次运算后有多少位会变化,你能告诉他吗?

输入格式

输入第一行包含一个整数 表示二进制位数
输入第二行一个长度为 的二进制数字 ,每位只有
接下来一个整数 表示徐老师要进行加法的次数
接下来 行,每行一个整数 表示这次加法要加的数字为 对应的二进制数字

输出格式

首先对于每次询问输出此次加法以后变化的位数
最后输出一个二进制数字,表示计算全部结束后 x x x的值

数据范围

对于 20 % 20\% 20%的数据, 1 ≤ n , m ≤ 10 1\le n,m \le 10 1n,m10
对于 40 % 40\% 40%的数据, 1 ≤ n , m ≤ 1 0 3 1\le n,m \le 10^3 1n,m103
对于 70 % 70\% 70%的数据, 1 ≤ n , m ≤ 1 0 5 1\le n,m \le 10^5 1n,m105
对于 100 % 100\% 100%的数据, 1 ≤ n , m ≤ 1 0 6 1\le n,m \le 10^6 1n,m106
对于所有数据保证 0 ≤ k ≤ n − 1 0 \le k \le n-1 0kn1

样例输入

3
110
6
2
2
1
2

样例输出

2
1
4
1
2
1
11100

yjq的同桌分配

文件读写

输入文件 d e s k m a t e . i n deskmate.in deskmate.in
输出文件 d e s k m a t e . o u t deskmate.out deskmate.out

限制

1000ms
512MB

题目描述

yjq开始啦!少不了的一件事自然就是分配同桌
徐老师的班级里有 n n n个男生和 n n n个女生,男女生坐在一起,正好分成 n n n对同桌
而为了促进同学们的学习进步,yjq决定根据每个同学的成绩情况进行分配同桌
首先yjq收集了每个同学的平均成绩,第 i i i个男生的成绩为 b i bi bi,第 i i i个女生的成绩为 g i gi gi
如果由第 i i i个男生和第 j j j个女生组成同桌,那么这一对同桌的成绩为 b i + g i bi+gi bi+gi
当分配完 n n n对同桌以后,成绩最高的那一对同桌的成绩将代表这一次同桌分配方案的分配度
徐老师认为,分配度越小,这一组分配方案越好,现在徐老师想知道,最小的分配度是多少?

输入格式

第一行一个整数 表示男女生人数
接下来每行包含两个整数 和 分别表示第 个男生和第 个女生的成绩

输出格式

输出共 行,请计算每新增一对男女生时的最小分配度

数据范围

对于 20 % 20\% 20%的数据, 1 ≤ n ≤ 5 , 1 ≤ a i , b i ≤ 10 1 ≤ n ≤ 5, 1 ≤ ai, bi ≤ 10 1n5,1ai,bi10
对于 40 % 40\% 40% 的数据, 1 ≤ n ≤ 100 , 1 ≤ a i , b i ≤ 100 1 ≤ n ≤ 100, 1 ≤ ai, bi ≤ 100 1n100,1ai,bi100
对于 70 % 70\% 70% 的数据, 1 ≤ n ≤ 1 0 3 , 1 ≤ a i , b i ≤ 100 1≤ n ≤ 10^3, 1 ≤ ai, bi ≤ 100 1n103,1ai,bi100
对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 1 0 5 , 1 ≤ a i , b i ≤ 100 1 ≤ n ≤ 10^5, 1 ≤ ai, bi ≤ 100 1n105,1ai,bi100

样例输入

3
2 8
3 1
1 4

样例输出

10
10
9

yjq的炉石传说

文件读写

输入文件discard.in
输出文件discard.out

限制

1000ms
512MB

题目描述

wjq最近又开始玩一个经典卡牌游戏——《炉石传说》,并且玩的卡组还是一个非常经典的
卡组——弃牌术!
最近游戏出了一个新的模式,在这个模式下,允许玩家自己定义牌组顺序,不再随机抽牌,但是玩家每次只能打出牌组最上层的牌
现在yjq已经定义好了一个牌组,牌组中共有 n n n张牌,每张牌的效果可以简单的理解为两个效果——弃牌+伤害
n n n张牌一开始按照在牌组中从上往下的顺序依次编号 1 … n 1…n 1n
编号为 i i i的牌被打出时,会丢弃牌组最上方的 x i xi xi张牌(包括自己),并对对手造成 y i yi yi点伤害
当然,如果牌组中剩余的牌不够 x i xi xi张则不能打出这张牌
而徐老师氪金以后在这个模式下获得了一个可以无限使用的英雄技能——过牌!
这个技能可以将现在牌组顶端的卡牌移到卡组最下方
现在徐老师想知道,他组的这套卡组最多能打出多少伤害?

输入格式

输入第一行包含一个整数 n n n表示有 张卡牌
输入第二行包含 n n n个整数,分别表示 x i xi xi,含义如题
输入第二行包含 n n n个整数,分别表示 y i yi yi,含义如题

输出格式

输出徐老师最多能造成的伤害

数据范围

对于 30 % 30\% 30%的数据,满足 1 ≤ n ≤ 10 1 ≤ n ≤ 10 1n10
对于 50 % 50\% 50%的数据,满足 1 ≤ n ≤ 20 1 ≤ n ≤ 20 1n20
对于 70 % 70\% 70%的数据,满足 1 ≤ n ≤ 100 1 ≤ n ≤ 100 1n100
对于 100 % 100\% 100%的数据,满足 1 ≤ n ≤ 100 1 ≤ n ≤ 100 1n100

样例输入1

5
2 2 1 1 1
7 8 3 3 3

样例输出1

18

样例输入2

20
4 2 3 3 4 2 3 2 3 3 4 3 3 2 3 2 1 2 4 2
15 8 7 8 16 2 14 8 4 5 9 13 5 2 3 8 1 3 9 3

样例输出2

82

一会儿给答案

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值