2023大厂笔试模拟练习网站(含题解)
www.codefun2000.com
最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据,挂载到我们的OJ上,供大家学习交流,体会笔试难度。现已录入200+道互联网大厂模拟练习题,还在极速更新中。欢迎关注公众号“塔子哥学算法”获取最新消息。
今天带来的是4.20华为od春招的三道题目。最近有很多热爱刷题的小伙伴主动地将自己的做题过程与思路录制成视频分享在B站,欢迎大家前去学习支持!视频链接:https://space.bilibili.com/298539770
每道题目附有思路提示,对应的题解(各种语言)欢迎前往www.codefun2000.com查看。
第一题
题目内容
在系统、网络均正常的情况下组织核酸采样员和志愿者对人群进行核酸检测筛查。
每名采样员的效率不同,采样效率力 N N N 人/时。
由于外界变化,采样员的效率会以 M M M 人/小时为粒度发生化, M M M 为采样效率浮动粒度, M = N × 10 M=N\times 10% M=N×10,输入保证 N × 10 % N\times 10\% N×10% 的结果为整数。
采样员效率浮动规则:采样员需要一名志愿者协助才能发挥正常效率,在此基础上,每增加一名志愿者,效率提升 1 M 1M 1M ,最多提升 3 M 3M 3M ,如果没有志愿者协助组织,效率下降 1 M 1M 1M 。
怎么安排速度最快?求总最快检测效率 (总检查效率为采样员效率值相加)。
输入描述
输入第一行为两个整数 n n n 和 m m m , n n n 表示采样员人数, m m m 表示志愿者人数。( 1 ≤ n ≤ 100 1\le n\le 100 1≤n≤100 , 1 ≤ m ≤ 500 1\le m\le 500 1≤m≤500 )
输入第二行为 n n n 个整数,第 i i i 个整数表示第 i i i 个采样员的基准效率值为 a i a_i ai (人/小时)。( 60 ≤ a i ≤ 600 60\le a_i \le 600 60≤ai≤600 ,并且保证 a i × 10 % a_i \times 10\% ai×10% 为整数)
输出描述
输出为一个整数,表示总最快检测效率(单位人/小时)。
样例
输入
2 2
200 200
输出
400
思路:贪心/dp
第二题
题目内容
对称就是最大的美学,现有一道关于对称字符串的美学。已知
- 第1个字符串: R
- 第2个字符串: BR
- 第3个字符串: RBBR
- 第4个字符串: BRRBRBBR
- 第5个字符串: RBBRBRRBBRRBRBBR
相信你已经发现规律了,没错! 就是第
i
i
i 个字符串 =第
i
−
1
i-1
i−1 号字符串取反 + 第
i
−
1
i-1
i−1 号字符。取反( R->B,B->R
)
现在告诉你 n n n 和 k k k ,让你求得第 n n n 个字符串的第 k k k 个字符是多少。 ( k k k 的编号从 0 0 0 开始)
输入描述
输入第一行为一个整数 T T T ,表示有 T T T 组用例;
每一个用例的第一行输入为两个整数 n n n , k k k 。
1 ≤ T ≤ 100 1\le T\le 100 1≤T≤100 , 1 ≤ n ≤ 64 1\le n\le 64 1≤n≤64 , 0 ≤ k < 2 n − 1 0\le k \lt 2^{n-1} 0≤k<2n−1
输出描述
输出为
T
T
T 行,每一行输出为 blue
或者 red
,blue
表示字符为 B
, red
表示字符为 R
。
样例
输入
5
1 0
2 1
3 2
4 6
5 8
输出
red
red
blue
blue
blue
思路:递归
第三题
题目内容
塔子哥现在有两个整数
l
l
l 和
r
r
r ,现在他问你在区间
[
l
,
r
]
[l,r]
[l,r] 中有多少个数的二进制表示中不含 101
字串。
输入描述
输入为两个整数 l l l 和 r r r ,表示区间的左右端点。( 1 ≤ l , r ≤ 1 0 9 1\le l,r \le 10^9 1≤l,r≤109 )
输出描述
输出为一个整数,表示有多少个数的二进制表示中不含 101
字串。
样例
输入
1 5
输出
1
样例解释
只要
5
5
5 中含有 101
字串。