Codeforces Round #850 Python

C-Monsters(easy version)

题目大意是说有n个怪物,代号为i的怪物血量为ai。

你有两种方式伤害怪物,一是直接砍怪物一刀让其扣一滴血,二是所有怪物都扣一滴血,并且如果因此有怪物死亡,重复群体扣血,直到没有怪物因群体扣血死亡。方式二在一次讨伐中只能使用一次。

输出方式一最少要使用几次

1.显然整个解题要围绕方式二展开,要尽量使怪物的血量呈现1 2 3 4 5这样的阶梯式血量,

2.作为C题,他必然是有要考虑的特例的,而该题的特例是,1 4 4 4 5 6 。

3. 实际上,在初次处理该题时我想到的是用k递增,确保每一级的数都有直到列表最大值不超过k,而当中间没有的时候,就用最大值转换为k,然后处理下一级。这种处理方法对大多数情况有效,但对 1 4 4 4 5 6 这种有重复,而且重复的数不大不小的情况,就会出错。对 1 4 4 4 5 6 处理出正确的值应为3 ,而上述处理方法会输出6.

4.故而我换用了从小到大的处理方式。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值