§6 传统活动 §6.4 凑数法精准卡pt
先给出结论:
本文方法的使用方法为:在活动最后一天,用打歌和活动营业等手段,尽可能使当前pt与目标pt接近,但差值要大于1222,同时剩余道具尽可能少。此时,应停止所有活动营业。之后,使用文中的优化凑pt方法,可以将剩下的pt规划为若干首17体力pro、18体力master、19体力master和活动曲清道具的组合。

这小节的内容可以帮助玩家在尽可能多的自由打歌和尽可能少的浪费道具的情况下,精准地达到想要的pt值。
(小声)这一小节与其说有什么作用,不如说其实是我搞出了这个算法所以想炫耀一下(ntm)……因为好像唯一值得卡一卡特殊pt值的也就是142的活动,但是还已经过去过了……嘛,不过可能确实还是会有那么些人有闲情逸致卡一卡pt的,所以姑且还是把这一小节放上来了。
这一小节的内容应该是可以用一些数论的知识进行简化或者进行更加系统的描述的,但我确实没有这方面知识,所以可能写起来就会显得有些繁杂。如果实在看不成的话,本人也能提供帮算服务,价格低至每人一个三连,快来抢购吧(?)
不啰嗦了,进入正题。
本文方法的核心是,利用17体力pro和18体力、19体力的master歌来进行目标pt的分配。这三种歌在单倍下各自的产出pt数是47,50和53,也就是50和50±3,因此可以先用50去逼近目标pt,再用若干个±3去修正。
举个例子,现在距离目标pt的差值是803pt。803pt相当于16*50+3,那么将这16个50内的一个50换成53,就可以使总和由800增大到803。又或者差值是847pt,相当于17*50-3,那么将这17个50内的一个50换成47,就可以使总和由850减小到847。这实质上是一个类似鸡兔同笼的问题。
具体来说,一个正数除以50的余数,可以分为以下三类:
①1,4,7……49 ②2,5,8……47 ③0,3,6,9……48
由上面的例子可以看到,对于③类的数,余数每含一个3,就用一个53去替换掉50,就可以由若干个50和53来凑出。
对于②类的数,我们可以让除法的商+1,那么余数会-50,变成-48,-45,-42……-3。(上面例子里就是847÷50=16余47变成17余-3)然后,对于每个-3,都用一个47去替换掉50,就可以由若干个50和47来凑出。
对于①类的数,处理起来略微麻烦。既可以让商-1,从而余数+50变成51,54,57……99,也可以让商+2,从而余数-100变成-99,-96,-93……-51,然后再每个3用53换50或者每个-3用47换50,就可以由若干个50和53或者是50和47凑出。
既然上面已经包含了所有余数情况,就说明一个差值数能否由47,50和53凑出只取决于是否有足够多个50用来替换。比如说177这个数,余数是27属于③类,需要用9个53去替换掉9个50,但是显然177不包含那么多个50,因此就无法凑数。所以,用47,50,53凑数一定存在一个最小值也就是凑数下限,我们来分类分析。
对③类数,需要最多个3的情况是余数48的情况,需要16个53替换16个50,也就是说原数需要包含至少16个50,那么下限就是16*50+48=848。
对于②类数,需要最多个3的情况是余数2的情况,这种情况下商+1余数-50变成-48,需要16个47替换16个50,就是说原数需要至少包含(16-1)个50,那么下限就是16*50-48=752。(即15*50+2=752)
对于①类数,由上面②③类的计算经验可知,从19和22处划分开比较合适。1,4,7……19用商-1余数+50的办法用53来替换50,最多的情况余数19(变成69)时需要23个50来被替换,下限是23*50+69=1219。22,25,28……49时用商+2余数-100的办法用47来替换50,最多的情况余数22(变成-78)时需要26个50来被替换,下限是26*50-78=1222。
显然,下限是要取各种情况下的最大值的,也就是1222。所以结果是,大于1222的任何正整数都可以由47,50和53凑出,小于1222时则不一定能凑出。
将上述用若干个50和53或者50和47进行正整数凑数的方法在下文称为凑数法。
上面的结果显示,只要目前pt和目标pt的差值在1222以上,就一定可以用若干首18体力master和17体力pro或19体力master来精准凑得。这是一种比较基础的凑pt方法。
但是上述方法有一个小问题,那就是,开始凑pt之后,就再也不能打活动曲了,所以打歌产生的道具最后都会被浪费掉。这些道具至少会有1222个,可以折算成2500+的pt,价值300多的体力或者说100个石头。虽然不多,但我老吝啬鬼了,一点也不想浪费。所以下面给出一种优化的凑pt方法。
首先来计算在正常打活动时,清道具所占pt占总pt的占比。以方便计算的18体力master为例,3首单倍master产出150道具和150pt,150道具折算320pt,那么清道具pt的占比就是32/47=68%。同理,双倍打歌的时候,占比是64/79=81%。也就是说,在没有白嫖道具的情况下,清道具的pt最多可以占总产出pt的81%。
换句话说,对于当前的差值,如果我们把其中不超过81%的pt安排为清道具而不是打非活动曲,那么这些道具一定可以由产出剩下的pt所需的非活动曲提供。活动曲pt的最小单位是320pt,因此,我们可以将原本的差值,尝试减去若干个320pt,这些320pt的总和不能超过原本差值的81%,如果剩下的pt依然可以被凑数法凑出,那么就可以对剩下的pt用17/18/19体力的非活动曲凑pt,而将产出的活动道具用于打活动曲,从而节省体力消耗(还能减少打歌时间)。
因此,当前pt和目标pt的差值X(X≥1222),可以使用以下的优化凑pt方法进行试凑:
1、对X用凑数法进行试凑,显然可以凑出
2、对X-320用凑数法进行试凑
3、对X-640用凑数法进行试凑
……
直至所减去的若干个320要超出X的81%为止。
然后,选用上述能凑出的结果里,减去最多个320的方案进行使用。如果这些320的总值超过了X的68%,那么非活动曲里有一部分歌会需要进行双倍打歌,否则可能无法获得足够道具。如果这些320的总值没有超过X的68%,那么全程单倍打歌就好。
这样的方法有一个必须注意的点,那就是开始凑pt的时候必须不再有活动营业收入了,因为活动营业给的pt是一定范围内的不定值,会使得精准凑数完全无法进行。这也是为什么建议在活动的最后一天甚至最后一下午再进行凑pt,这样因不能挂营业而损失的白嫖pt会比较少一些。

下面给出一个示例:
假设活动的最后一天下午,当日白嫖道具已经领到,活动营业已经停挂。目标pt是142142pt,当前pt是139000pt,手头持有340道具。则凑pt计算过程如下:
1、清道具逼近目标。先打6次单倍19体力master,再四倍清一次活动曲,来到140598pt+58道具。此时,差值为1544pt。
2、试凑1544减去若干个320的情况:
①1544-0*320=1544=30*50+2*47,显然可凑。
②1544-320=1224=16*50+8*53,可凑。
③1544-640=904,不可凑。
④1544-960=584,不可凑。
⑤1544-1280=264,不可凑。
因此应当采用方案②,即1544=320+16*50+8*53。由于显然320小于1544的81%,所以单倍打歌即可。
3、与第1步合并,得到:单倍打16首18体力master,14首19体力master,并合计清5倍活动曲(4+1,3+2等随意分配,总相当于5次单倍就行)。
4、验算:139000+16*50+14*53+5*320=142142。产出道具16*50+14*53+340(初始)=1882,所需道具5*150=750<1882,证明不会出现道具不足的情况。浪费道具1882-750=1132。
5、结论:当前情况下,凑142142所需的打法是:单倍打16首18体力master,14首19体力master,并合计清5倍活动曲。
对上述示例中可能出现的问题的一些补充说明。
Q1 为什么不对139000和142142的差值3142直接进行凑数,而是要先逼近一次呢?
A1 本文的凑数法是以50(也就是18体力M)为基准的,用来调整pt的19体力和17体力至多不过十几首。故而差值很大时,18体力M会占凑数的主体,而18体力显然没有19体力的效率和速度高,因此,先采用19体力M和清道具的方式进行逼近,在很接近1222之后再进行凑数,可以提高19体力M的占比,从而提升打活动的速度和效率。
Q2 上面试凑的时候,1280已经超出了1544的81%,为什么仍要尝试呢?
A2 在对1544开始试凑的时候,手里还有58个道具,并不是完全0道具的状态,因此,对于只是略微超出81%的1280,也会进行尝试。如果结果是可凑的话,最后验算的过程中要额外注意是否会出现道具不足的情况即可。

传统活动的数据和计算相关内容到这里就结束了,下一章起会对剩下的活动逐一进行数据和技巧部分的说明(当然因为剩下的活动都没有传统活动这么适合研究所以肯定不会像传统活动这样这么大篇幅)。如果对传统活动还有什么疑问(或者是对前面的章节内容有什么疑问),私信来问或者怕我看不到的话就加QQ 2438158983来问都可以,有什么不想算的来找我算也没问题,欢迎戳爆。