码迷,mamicode.com
首页 > 其他好文 > 详细

2020.5.29练习

时间:2020-05-29 21:23:28      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:应对   开始   奇数   偶数   问题   利用   最快   情况   输出   

本次练习题有些难,我自己做了a,c题,剩余4题均看题解做的。

a题:要求数之间的差升序,我们先排一下序从小到大,如果为偶数则从n/2+1个数开始循环输出a[i],a[n-i+1]直到n;如果为奇数,则先输出a[n/2+1],再从n/2+2个数开始循环输出a[i],a[n-i+1]直到n。

b题:要求时数组升序,最快需要几秒,每秒增加2的t-1次方。我先找到降序序列的最大差,求补足这个差需要几秒即可。

c题:要求最多可以时多少数大于等于其要求的数,先排序,计算一下有多少个数大于x,算出这些数与X差的和,在用这些和与剩余数(倒序)与x的差(负数)相加,直到<=0为止,最后计算一下共有多少个数。

d题:要求杀死怪物的最少子弹。要想最少,那就充分利用爆炸,是爆炸都用上,怎末开始是个问题,先从前一个爆炸对自己伤害最小的怪物开始。在利用公式所有怪物的生命和-所有爆炸对怪物的实际伤害+伤害最小一次爆炸,算出即可。

e题:判断a数组是否可以经过运算后等于b数组。倒着一一比对,如果a中数大于b中数,则判断之前是否有-1,没有则输出no,跳出循环;小于则反之;如果所有数均满足则输出yes;

f题:判断一个数组的子序列是否美,输出有几个这样的子序列。需要用map和前缀和,先将0标记为0,以应对出现前两个数和为零的情况。在标记每一次前缀和为i(从一开始直到n),

并在之前判断此前缀和是否出现过,若出现过则减去对应的键值,没有的话加i,最后输出共有多少个合适的子序列。

2020.5.29练习

标签:应对   开始   奇数   偶数   问题   利用   最快   情况   输出   

原文地址:https://www.cnblogs.com/yyscn/p/12989408.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!