魔塔吧 关注:64,484贴子:2,154,394

【无尽转换联动帖1】什么?穷举也有技巧?让我来告诉你吧~

只看楼主收藏回复

此帖是联动帖,即在读此贴之前,必须先读我的:
【大众向】【技巧向】只要学了这个,人人都能拆爆无尽转换哦
帖子,不然看不懂不要怪楼主哦~
照惯例图片镇楼:


IP属地:广东1楼2018-04-21 03:31回复
    前排支持


    钢铁拳渣
    贴吧拳王争霸赛中累计获取10场胜利
    活动截止:2016-03-06
    去徽章馆》
    IP属地:江苏来自iPhone客户端3楼2018-04-21 06:53
    收起回复
      资词


      IP属地:四川4楼2018-04-21 08:34
      回复
        此帖开更


        IP属地:广东5楼2018-04-21 20:43
        回复


          IP属地:四川6楼2018-04-21 20:47
          回复
            首先@一下无尽转换的作者 @飞来的钻石314 起完这个标题才发现上个帖没@成功,所以害怕我起这个标题会有什么误会,特在此跟你说声抱歉@你的那个楼层被抽了正准备恢复,要是恢复失败我在其他楼层再@你一次并附上你的魔塔链接表示歉意


            IP属地:广东7楼2018-04-21 20:49
            回复
              首先,在说之前,我们先来定义几个符号,以方便叙述:
              假设a,b,c,...,n是无尽转换(或其他魔塔)中怪物的编号
              定义1:(a,b,c,...,n)
              此记号表示,求解a,b,c,...,n的最优解
              例如,求解怪物1、2、3、4的最优解这个步骤可以表示为:
              (1234)
              若这四个怪物的最优解顺序为4321,则记:(1234)=4321,此时将4321称为(1234)的最优值
              定义2:(a,b,...,m)c(d,e,...,n)
              假设(a,b,...,m)中有M个怪物,则此记号就表明:
              固定c怪物在第M+1位置的(a,b,...,m,c,d,e,...,n)的最优解
              例如(12)3(45)表示,3恒在第3位置的最优解,例如它的值可以为12345,也可以为45312,但绝不能为43215


              IP属地:广东8楼2018-04-21 20:57
              收起回复
                我们先通过实例来讲解如何高效的,极快速的进行穷举。
                上帖中,我们在攻击篇实例1中,将减伤方阵化为了如下形式:

                因为目前算法的不成熟,所以遇到这种情况,我们确实只能穷举,但是这不代表我们做的是无用功。事实上,我们辛辛苦苦推导的数据处理方阵和偏序关系在穷举中能够派上更大的用场,但在此之前我们先要做一定的处理:


                IP属地:广东9楼2018-04-21 21:01
                回复
                  预处理1:统一偏序集的形式
                  对于i的偏序,令i只存在j→i这种形式的偏序,其他偏序均删掉(当然删掉的偏序以其他偏序的形式再次出现并没有真的删掉)
                  处理后的偏序关系如图:

                  是不是清爽很多呢~


                  IP属地:广东10楼2018-04-21 21:05
                  回复
                    嗨,多磨~


                    IP属地:广东来自Android客户端11楼2018-04-21 21:07
                    收起回复
                      预处理2:将伤害方阵的形状变为数据处理方阵的形状,并把偏序集复制在伤害方阵旁边
                      这段话是什么意思呢?相信你看完本例处理的结果就明白了:
                      这是处理后的伤害方阵:

                      这是数据处理方阵:

                      形状是不是完全一致~不一样的只是数字而已


                      IP属地:广东12楼2018-04-21 21:10
                      回复
                        至此,所有预处理已经完毕,接下来楼主将对本例一步步的穷举到最终结果,过程中的技巧与方法楼主也会全部提及~请有兴趣的朋友拿着纸笔跟楼主一起来玩吧~(对我感觉就是玩,没啥难度)


                        IP属地:广东13楼2018-04-21 21:13
                        回复
                          1、求出第1位置对应怪物,及其组合对应的伤害MIN(注意是MIN)
                          标题看不懂?没关系,来看实例。
                          ①第1位置全部的怪物有哪些呢?伤害方阵第一行对应的有数值的怪物都是,例如上例中的怪物3,4
                          ②第1位置全部的组合有哪些呢?显然只有3与4
                          ③两个组合的MIN是多少呢?显然为对应的数字,即(3)=482,(4)=186
                          注意等号后面的是伤害MIN而不是最优值哦
                          此步骤最终结果如图:


                          IP属地:广东14楼2018-04-21 21:23
                          收起回复
                            无敌


                            IP属地:广东15楼2018-04-21 21:35
                            回复
                              2、求出第2位置对应怪物,及第12位置的组合对应的伤害MIN
                              此步骤分为如下几步:
                              ①写出第2位置可能的怪物
                              看图可知第2位置可能的怪物有怪物2347
                              ②根据第1位置的其中一个组合的第12位置的组合
                              第1位置所有可能组合为(3)与(4),因为2怪物可能为2347,且不同位置的怪物均不同,所以可能的组合有:
                              含(3)组合:(23)、(34)、(37)
                              含(4)组合:(24)、(47)
                              注意括号内的数均要按照从小到大的顺序排列,这样我们就能更容易的看出哪几个组合是重复的。
                              ③对于②中的每一组合,将其全部变为数个(x)y的形式,同时先利用第1位置的组合去掉不可能组合,再利用偏序关系去掉不可能组合。当完成上述步骤后,算伤害筛选出每个组合的伤害MIN
                              例如,对于(23)=(2)3 / (3)2
                              第一位置没有(2),所以去掉(2)3,(3)2与偏序关系无矛盾
                              所以(23)=(3)2=432+726=1158
                              再例如(34)=(3)4 / (4)3
                              两个关系与第一位置和偏序均无矛盾,故需要算伤害,从中取最小
                              (3)4=360+186=546,(4)3=432+186=618,548最小
                              故(34)=546
                              以此类推,可以轻松的筛选出其他组合的伤害MIN,过程省略:
                              (37)=654
                              (24)=912
                              (47)=408
                              一旦熟练了步骤③熟练,基本都是5秒一数据,两种情况均符合的也只用不到10秒,且此步骤仅仅进行了6次简单加法,读者可以对比不用任何技巧的此种情况的穷举,高下立判
                              此步骤最终结果图:(请大家注意我的结果排序)


                              IP属地:广东16楼2018-04-21 21:51
                              收起回复