寒假集训D1T3:小信的数组

针对一道题目,原题要求对数组进行特定操作。初步分析表明,简单的模拟方法由于时间复杂度过高会导致超时。通过深入观察,发现可以采用分段策略,每次操作先对数列中所有正数减去最小值,然后处理剩余部分。通过排序求最小值,并使用while循环实现,降低了时间复杂度。
摘要由CSDN通过智能技术生成

原题

题目分析

初步分析

看完题目,我们可以提取题中的意思。整个过程就相当于循环枚举数列中不为零的数,每次减一,减k次。

遇到这种题目,我们首先想到用模拟的方法,按照题目的方法,写一个while循环,就可以搞定。

然而,定睛一看这道题的数据范围,k和a数组的范围都十分巨大,枚举的时间复杂度为O(k),这样做必定超时。所以,我们得另辟蹊径。

当我们再次观察题目,不难发现,在进行k次操作时࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值