第二次忘记带钥匙

粗心的代价:钥匙遗忘记
这已经是第二次忘记带钥匙了……

今天早上我刚锁好门,就下意识的去口袋里摸了一下钥匙,一摸心里一惊钥匙忘了带了。心想真是太倒霉了,如果在门锁上之前摸一下钥匙就好了。其实这个房子有四把钥匙,从我上次忘了钥匙之后,为了避免以后再忘记带钥匙我就随身带了一把钥匙,然后又拿了一把钥匙和助力车的钥匙放在一起,心想即使忘了带钥匙自己每天骑车的也没关系的,可偏偏今天又没有骑车。

实在是没办法只好求助110了,由于开锁的上次来过,所以我就直接打电话给他了,大概半个小时他就带着工具来了,很快门就打开了。然后就是登记信息收费,50块(半个月的伙食费呢),两次一百块呢,没办法谁让自己这么粗心把钥匙都能锁在家里。就当花钱买教训吧!

为了避免再忘钥匙,我决定放一把钥匙在公司,因为即使忘了钥匙也可以去公司拿回来!

这个是题目,就是从1开始。 二面做过这道题的Easy Version的小朋友有福啦! (没做过的更好了(喜)), 这是Hard Version; 出勤了一天的yls拖着疲惫的身子回到了宿舍, 结果发现忘钥匙了, 而他的舍友都睡着了; 他们发现yls那么晚还没有回来, 并且猜到了yls可能忘钥匙了, 于是在睡觉前在门口留了一道谜题, 只有足够聪明的yls才能解出来; 只要解出来, 他就可以回到宿舍, 继续玩他的暗区突围! Description 给定一个长度为 n n 的序列, 序列中的第 i i 个值为 a i a i ​ , 每次操作, yls可以最多选择任意 k k个不同的数, 使得这 k k个数都 − 1 −1, 请问yls最少多少次才可以把这个序列变成一个单调不降的序列; 单调不降: 假设有一个长度为 m m 的序列, 第 i i 个元素为 b i b i ​ , 若对于序列中的每一个 i ( 1 ≤ i ≤ n − 1 ) i(1≤i≤n−1), 都有 b i ≤ b i + 1 b i ​ ≤b i+1 ​ , 那么称这个序列单调不降; Input 每个测试点包含多组测试数据; 第一行给出测试用例数 T T; 对于每个测试点: 第一行给定 n , k ( 1 ≤ n , k ≤ 10 5 , 并且保证 k ≤ n ) n,k(1≤n,k≤10 5 ,并且保证k≤n), 表示这个序列的长度和最多能选择的子序列长度; 第二行输入 n n 个数, a i ( 1 ≤ a i ≤ 10 9 ) a i ​ (1≤a i ​ ≤10 9 ) 代表第 i i 个数的值; 保证所有测试点 ∑ n ≤ 10 5 ∑n≤10 5 ; Output 对于每个测试用例, 输出一行, 表示最小操作次数; Sample 1 Inputcopy Outputcopy 2 5 1 1 1 4 5 5 6 6 1 1 4 5 1 4 0 4
10-15
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值