您当前的位置: 首页 >  动态规划

庄小焱

暂无认证

  • 1浏览

    0关注

    805博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

算法问题——丢棋子的动态规划问题

庄小焱 发布时间:2020-10-05 20:37:22 ,浏览量:1

https://www.nowcoder.com/practice/d1418aaa147a4cb394c3c3efc4302266?tpId=117&&tqId=35279&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking

解答问题:https://www.cnblogs.com/willwuss/p/12256475.html

题目描述

  一座大楼一共有0~N层,地面算第0层,最高一层为第N层。已知棋子从第0层掉落肯定不会摔碎,从第i层掉落可能回摔碎,也可能不会摔碎(11, 我们需考虑第1个棋子是从那层开始仍的。如果第1个棋子从第i层开始仍,那么有以下两种情况:   (1) 碎了。没必要尝试第i层以上的楼层了,接下来的问题就变成了剩下i-1层楼和K-1个棋子,所以总步数为 1+P(i-1, K-1);   (2)没碎。 那么可以知道没必要尝试第i层及其以下的楼层了,接下来的问题就变成了还剩下N-i层和K个棋子,所以总步数为 1+P(N-i, K).

  • 根据题意应该选取(1)和(2)中较差的那种情况,即 max{ P(i-1, K-1), P(N-i, K)}+1。 由于i的取值范围是 1到N, 那么步数最少的情况为, P(N, K)=min{ max{P(i-1, K-1), P(N-i, K)}(1
  • 关注
    打赏
    1657692713
    查看更多评论
    立即登录/注册

    微信扫码登录

    0.0497s