口袋妖怪吧 关注:1,071,232贴子:32,367,504
  • 10回复贴,共1

万能的吧友啊 问一道宝可梦背景的算法题

只看楼主收藏回复



IP属地:上海来自Android客户端1楼2024-01-05 21:10回复
    有没有大佬知道怎么样可以用穷举法以外的办法找到正解


    IP属地:上海来自Android客户端2楼2024-01-05 21:10
    回复
      其实一般判断觉醒力量属性用的是纹理2,这个技能和觉醒力量都是2代加入的,到了七代可以直接找npc确认,基本不会有人用这种方式来确认,太麻烦了(
      用这种方式的话就是通过抗性区分了,第一步先找到相关抗性最合适的属性组合,他这个例子里的草斗就是一个很适合的组合,这个组合抵抗/克制/一倍的数量都是6个,可以直接分成数量相同的三组
      后续根据三组的划分选择合适的属性,6个分成123或222,再随便选个属性判断最后一次就行了


      IP属地:江西来自Android客户端3楼2024-01-05 22:33
      收起回复
        至于属性链的推导,可以用进制来理解
        四种情况按四进制排列,对单只宝可梦造成的效果记作0123,由于四进制下两位数最大为33,表示15,所以要表示全部18种属性必须三位数,也就是最少链长度为3


        IP属地:江西来自Android客户端4楼2024-01-05 22:49
        回复
          其实有变隐龙的世代,找变隐龙打就行了……


          IP属地:广东来自Android客户端5楼2024-01-06 06:54
          回复
            不穷举怎么可能,属性克制哪有规律,就是得一个一个去找才行


            IP属地:北京6楼2024-01-06 07:07
            回复
              排除变隐龙的情况,就依题中情景来思考好了。个人认为,需要先对所有属性组合做一个整理。
              由于楼主没提,故这里不考虑世代的属性抗性变化和未出现的宝可梦属性组合两大因素。
              首先,对只拥有一个弱点/抗性/免疫/的属性就包括:
              一个弱点:一般、电、恶+幽灵、虫+钢、水+地、毒+恶、一般+幽灵
              能被确认的属性是:格斗、地面、妖精、火、草、恶
              一个抗性:冰、地面+冰、一般+冰、一般+恶、一般+超、幽灵+妖精、幽灵+恶
              能被确认的属性是:冰、毒、恶、超、虫
              一个免疫:一般、钢、地面、恶、飞、妖(包括其与除幽灵系的组外其他属性的组合)
              能被确认的属性是:幽灵、毒、电、超、地面、龙
              综上,能被一步确认的属性有:格斗、地面、妖精、火、草、恶、冰、毒、超、虫、幽灵、毒、电、龙
              这三步可用算法三步完成,具体操作为:1、导入属性相克表,用两张属性相克表相乘,自体相乘算为单属性,删去倒序项。2、检索0、2/4、0.5/0.25。3、整理分组。


              IP属地:广东来自Android客户端8楼2024-01-06 08:20
              回复
                第二问不穷举的话可以每一步算信息熵然后选熵最小的


                IP属地:浙江来自Android客户端10楼2024-01-06 18:07
                收起回复