从计算机科学角度解释一下之前吧友发的吐槽姐夫的帖子之前看到有
炉石传说吧
全部回复
仅看楼主
level 13
jzz973636105 楼主
从计算机科学角度解释一下之前吧友发的吐槽姐夫的帖子
之前看到有吧友吐槽在对面一个墙的情况下嗜血能斩杀但姐夫没给,但是其实这个问题真不简单的,假如你是编写姐夫代码的程序员,你会怎么解决这个问题呢(在有墙的情况下判断给出嗜血是否能斩杀)?
让我们来分析一下:如图中只有一个8血墙和19血的英雄,嗜血后按站位顺序1个4攻,1个11攻和3个4攻,那怎么组合才能斩杀呢?这其实是一个经典的组合优化问题,是背包问题的变形bin-covering,是NP-hard问题不存在多项式算法。为了姐夫的这一功能编写代码来实现这一功能其实是有点难度的。
并不是在为姐夫错斩开脱,只是告诉大家想要实现这一功能在工程实现上的难度,楼主的这一例子也很有趣让我们窥见了一些姐夫内部代码的逻辑。作为玩家能做的也就是了解在顺序站位的情况下能给出嗜血斩杀,能控站位的时候甚至要控好站位。当然这对玩家的要求也有点高了
2020年08月05日 03点08分 1
level 13
jzz973636105 楼主
别让楼主寂寞太久哦[滑稽]
2020年08月05日 03点08分 2
level 12
nb!
2020年08月05日 03点08分 3
level 12
+3
2020年08月05日 03点08分 4
level 7
截图不全啊.是不是有奥秘
2020年08月05日 03点08分 5
原帖楼主说没有
2020年08月05日 04点08分
level 12
回想起了当年学算法的时代[阴险]
2020年08月05日 04点08分 6
level 10
关键是他这个死亡之翼的女儿下去88必在中间,对面从左边开始解他还真没办法控制站位。[阴险]
2020年08月05日 04点08分 7
level 10
就算没有多项式算法,n这么小也是工程上可以实现的吧
2020年08月05日 04点08分 8
level 7
如果只看血量斩杀那就是个一维背包问题,动态规划就能解决。我觉得姐夫的算法问题不是在于他是不是np,而是要考虑到的还有水晶和我方血量,就是还有某种评判权重在做深度遍历搜索,这些算法细节我们是不得而知的。不过可以肯定的是,只看斩杀其实没那么难,问题是出在他算法设计的评判权重指标肯定是有问题的,说白了就是在姐夫那套算法算完了发现有比斩杀更重要的指标分数。
一言蔽之,姐夫智障
2020年08月05日 05点08分 11
level 13
jzz973636105 楼主
说得很对,确实可以动态规划解决,但程序员并不愿意为单独判断这一张卡写一个代价不小的程序,所以姐夫这张卡是真的程序员噩梦[滑稽]
2020年08月05日 06点08分 12
level 7
同程序员,楼主功夫还需多学学啊,以上
2020年08月05日 11点08分 13
level 12
数据量撑死16个攻击频率7堵墙,也没让姐夫算亡语,16个物品的背包,动规肯定能搞定,算是程序员偷懒?不过显而易见对服务器负担提高了不少
2020年08月05日 11点08分 14
level 9
我感觉场上要是有一个5攻的说不定能出嗜血
2020年08月05日 11点08分 15
level 12
姐夫真是程序员噩梦,我宁愿他像游戏王的指名者
2020年08月05日 11点08分 16
level 11
这就NP了?全体加三攻之后用最小代价过墙 而且n最大是7。。。按郭德纲说法给块馒头狗都能写出来[你懂的]
2020年08月05日 12点08分 17
1 2 尾页