2023.4.1美团笔试

4.1美团笔试

五道编程题

1.

一排n个数(n>=2),依次用加号连接。举例,式子1+4+7+4+2+3+1共7个数以及6个加号。每次选择一个加号,将它改变成加减乘除中的一个(包括加号) ,然后计算整个式子的结果。

输入描述
第一行一个整数n
接下来一行n个整数a1,a2...an,依次表示初始写下的连加算式中的每一个数
接下来一个整数m,表示做了m次算数训练
接下来2m个以空格分开数字或符号t1,o1,t2...tm,om其中ti为数字,oi是'+''-''*''/',/(即加减乘除符号,不含引号)中的一个符号,表示第i次操作选定了第ti个加号,将其改变为了oi。
输出描述
输出一行m个整数,分别表示每次操作的答案,结果四舍五入到一位小数
样例输入
5
1 2 4 2 5
3
1 - 2 * 4 /
样例有出
10.0 16.0 7.4

2.

一排装饰品,可以交换任意两个装饰品的位置任意多次。假设当前从左到右n个装饰品的高度分别为h1,h2,h3,那么当前这一排装饰品的丑陋值为img

其中|x|为x的绝对值。想最小化丑陋值,请排下顺序

形式化地来讲,有一长为n的序列a1,a2…an,,你可以任意次数地进行交换,每次交换都可以选择任意两个不同的数i,j,交换ai,aj的位置。假设经过若干次交换后,序列变为h1,h2…,hn。,其丑陋值为,你需要找出一种交换方式,使得最终序列{hn}的丑陋值最小化。你不需要输出具体交换方式,只需要输出最终的hn序列的丑陋值即可

输入描述
第一行一个整数n,表示装饰品数量
接下来一行n个整数a1,a2..an,依次表示从左到右n个装饰品的高度
对于所有的数据:2<=N<=50000,0<=ai<=10^9
输出描述
输出第一行一个数,为最优方案的最小丑陋值
样例输入
3
3 1 2
样例输出
2

3.

修建了一排n个收藏夹分别编号为1,2,3,.,n。有时会改变某一个收藏夹里的内容,例如从中拿入、拿出一些藏品,这样的操作会改变对这个收藏夹的欣赏程度,我们记编号为i的收藏夹对其的欣赏程度为a;。还有一些时候,会欣赏连续编号的一些收藏夹,例如编号为L,L+1,L+2…R-1,R的这一些收藏夹,能从中获得的满足感为这些收藏夹的欣赏程度之和,即img
想在欣赏之前提前做一些评估,想知道如果选择编号区间为[L,R]的收藏夹,能带来的满足感是多少。

输入描述
第一行两个整数n和m,表示收藏夹数量和操作数量。初始时刻收藏夹都是空的,也即a;=0(i∈[1,n])
第二行m个整数op1,op2,...opm
第三行m个整数x1,x2..xm
第四行m个整数y1.y2...ym,这些共同表示了m次操作。具体而言,对第i次操作,opi=0时表示为一次收藏夹更新操作,会将xi位置的收藏夹欣赏程度更新为yi,即a xi=y i;opi=1时也表示为一次查询操作,表示如果欣赏编号在区间[xi,yi]的收藏夹,能获得的满足感是多少,也即的值
对于所有的数据,1<=n,m<50000,opi∈{0,1},当opi=0时,1<xi<=n;0<=yi<=10000;当op;=1时,1<xi<=yi<=n。保证至少有一次opi=1的操作。

输出描述
对每个opi=1的操作,输出一个数表示对应答案。空格隔开所有答案
样例输入
4 7
1 0 1 0 1 0 1 
1 1 1 3 1 4 1
3 2 3 5 3 100 3
样例输出
0 2 7 7

4.

魔法训练室里有n个杯子,有着不同的大小,假设第i个杯子已满,向其倒水,多余的水会正正好好流向第i+1个杯子(如果i=n时没有下一个杯子,不会有杯子接住此时多余的水而溢出到水池)。这些杯子有着初始固定的水量,每次练习后杯子里的水都会还原到最初状态。每次练习时,会告诉需要将哪一个杯子倒满水。因为每个杯子的材质和形状有所不同,所以对其释放倒水需要消耗的魔法值不同。需要最小化每次消耗的魔法值的总量。

输入描述
第一行一个整数n,表示杯子数量。
第二行n个整数x1,x2...,xn,依次表示第i个杯子能容纳水的量(单位为升)
第三行n个整数y1,y2...yn,依次表示第i个杯子初始有的水量(单位为升)。
第四行n个整数z1,z2,..zn,依次表示对第i个杯子每添加1毫升水需要消耗的法力值
第五行一个整数m,表示练习的数量。
第六行m个整数q1.q2...,qm,依次表示第i次练习时需要将第qi个杯子倒满。 (每次练习过后杯子里的水量都会还原为初始状态,不会影响到下一次练习
1<n,m<=3000,1<=yi<=xi<=10^9;1<=zi<=300,1<=qi<=n
输出描述
输出第一行m个数,依次表示每次训练时需要消耗的最小法力值。如果杯子初始本身就是满的,则需要消耗的法力值为0。
样例输入
3
1 2 3
1 1 2
1 2 5
2
3 1
样例输出
2 0

5 需要 前四道提交才能出,没做到

果杯子初始本身就是满的,则需要消耗的法力值为0。


样例输入
3
1 2 3
1 1 2
1 2 5
2
3 1
样例输出
2 0


5 没看

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值