此心安处是吾乡_SS level
获赞
12
粉丝
2
关注
1
看过 TA
2
上海大学
2021
C++
IP属地:上海
暂未填写个人简介
私信
关注
2020-03-29 21:07
上海大学 C++
#百度笔试# 3月29号两道编程凉凉第一题:题目描述:桌子上放着N枚硬币,将其从1到N编号,初始时有的正面朝上,有的反面朝上。现在要将所有硬币翻至正面朝上,每次可以选择一个区间[L,R](1≤L≤R≤N),并执行以下两种操作中的一种:①将编号为L到R的硬币翻面;②若编号为L到R的硬币均反面朝上,则将其翻至正面朝上。其中操作①所需的代价为x,操作②所需的代价为y,那么将所有硬币翻至正面朝上所需的总代价最小是多少?输入第一行包含三个整数N、x和y,1≤N≤105,1≤x,y≤10。第二行包含N个空格隔开的整数t1到tN,0≤ti≤1。若ti=0,则表示i号硬币初始时反面朝上;若ti=1,则表示i号硬币初始时正面朝上。输出输出总代价的最小值。样例输入3 1 20 1 0样例输出2提示第一次选择区间[1,3]并执行操作①,第二次选择区间[2,2]并同样执行操作①。太难了,动态规划没搞出来,求大佬指教第二题:题目描述:首先给出n个数字a1,a2,….an,然后给你m个回合,每回合你可以从中选择一个数取走它,剩下来的每个数字ai都要减去一个值bi。如此重复m个回合,所有你拿走的数字之和就是你所得到的分数。现在给定你a序列和b序列,请你求出最多可以得到多少分。输入输入第一行,仅包含一个整数n(1第二行,一个整数m(1接下来一行有n个不超过10000的正整数,分别为a1,a2…an.最后一行有n个不超过500的正整数,分别为b1,b2….bn.输出输出仅包含一个正整数,即最多可以得到的分数样例输入5510 20 30 40 504 5 6 7 8样例输出100第二题想来想去只通过27%,好郁闷。
投递百度等公司10个岗位
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务