【數(shù)值策劃】常見(jiàn)筆試題
本文首發(fā)于2022秋招期間,至今已有近半年的時(shí)間?,F(xiàn)在回看發(fā)現(xiàn)當(dāng)初更新的既不全面也不夠有針對(duì)性,近期將會(huì)多更一些內(nèi)容。
總目錄指路
這里把自己遇到的【數(shù)值策劃】相關(guān)筆試題進(jìn)行總結(jié)和歸納。
題目答案都是網(wǎng)絡(luò)搜集或本人做的,如有錯(cuò)誤,歡迎指出!
長(zhǎng)期更新直至擺爛,目前包含的題目類(lèi)別有:裝備強(qiáng)化、模擬對(duì)戰(zhàn)、抽卡、各種拋的概率、簡(jiǎn)單數(shù)學(xué)邏輯題、行測(cè)中的數(shù)學(xué)題、數(shù)學(xué)難題(涵蓋博弈論、數(shù)列等問(wèn)題)。

目前的更新計(jì)劃:
補(bǔ)充一些有關(guān)裝備強(qiáng)化的具體數(shù)值設(shè)計(jì)方法
補(bǔ)充幾道有代表性的邏輯題

裝備強(qiáng)化問(wèn)題
1. 強(qiáng)化一件橙色稀有裝備,該裝備初始等級(jí)為0級(jí),每強(qiáng)化成功一次+1等級(jí),失敗一次-1等級(jí)(最低為0等級(jí)),+1+2等級(jí)強(qiáng)化概率為100%,+3為70%,+4為65%,+5為50%;計(jì)算強(qiáng)化到+5等級(jí)需要的強(qiáng)化次數(shù)期望
【來(lái)源】https://www.nowcoder.com/questionTerminal/ac6db13ea71742a7a297891f71080054
【解答】

【說(shuō)明】強(qiáng)烈推薦大家用這種解法。注意,一般情況下回退等級(jí)都是1,也就是失敗了降1級(jí)。原因也很簡(jiǎn)單:游戲都是這么做的,如果失敗掉2級(jí)玩家要?dú)⑷说?!此外,公式中?strong>“總期望”其實(shí)指的是表格中的“強(qiáng)化成功的次數(shù)期望”。
9.21 更正
馬爾科夫鏈不適用于部分裝備強(qiáng)化問(wèn)題,因?yàn)檠b備強(qiáng)化是狀態(tài)之間的循環(huán),馬爾科夫鏈可能不收斂。因此有限次數(shù)能用馬爾科夫,無(wú)限次數(shù)多半不能。具體什么題目能什么不能,后面再補(bǔ)一下。感謝評(píng)論區(qū)老鐵的提醒!原來(lái)寫(xiě)的是在胡說(shuō)了QAQ

模擬對(duì)戰(zhàn)問(wèn)題
1.?有三個(gè)角色ABC,每個(gè)角色有攻防血三種屬性,利用減法公式計(jì)算傷害(傷害=攻擊-防御)。給定其中若干角色的參數(shù),設(shè)計(jì)剩余的參數(shù),使得三者構(gòu)成循環(huán)克制關(guān)系。
【來(lái)源】某公司
【解答】
戰(zhàn)斗中,角色1克制角色2就是角色1后于角色2死亡,
即?h1 / (atk2-def1) > hp2 / (atk1-def2)(記為生存時(shí)間不等式)
最終解三個(gè)不等式即可。

【說(shuō)明】
減法公式中的“戰(zhàn)斗力”一般不存在傳遞關(guān)系,即A克制B,B克制C,不能保證A克制C,原因是:生存時(shí)間不等式無(wú)法變形成為一邊只含有自己參數(shù)的形式,但乘法公式可以。這么說(shuō)很抽象,請(qǐng)見(jiàn)下一題。
2. 乘法公式好在何處?
【來(lái)源】題目整合
【解答】
(每個(gè)人都會(huì)有自己的理解,也可以結(jié)合游戲進(jìn)行分析。這里只說(shuō)最突出的、普適的優(yōu)點(diǎn))
乘法公式,即:傷害 = 攻擊*(1-免傷率),免傷率 = 防御 / (防御+常數(shù)C)
(1)乘法公式下,不會(huì)出現(xiàn)減法公式中不破防的情況,即傷害不會(huì)為0
(2)乘法公式邊際遞減效應(yīng)明顯,收益隨防御力增加而減少(邊際遞減可以簡(jiǎn)單理解為導(dǎo)函數(shù)是減函數(shù),即二階導(dǎo)數(shù)<0,也即函數(shù)為凹函數(shù)),鼓勵(lì)玩家適度追求防裝
(3)乘法公式下,戰(zhàn)斗力仍然取決于自身屬性。請(qǐng)見(jiàn)下圖

????有人問(wèn):在數(shù)值公式中,戰(zhàn)斗力的含義是什么呢?最典型的戰(zhàn)斗力的定義滿(mǎn)足兩個(gè)特征
????① 戰(zhàn)斗力高的,能打贏(活得更久)
????② 戰(zhàn)斗前后,戰(zhàn)斗力的差不變。比如打之前前我戰(zhàn)斗力比你高1w,打完了你死了,我就還 ????剩1w的戰(zhàn)斗力。
????仿照之前寫(xiě)的生存時(shí)間不等式,我們會(huì)發(fā)現(xiàn):如果A能打贏B,即

不難發(fā)現(xiàn)所謂的生存時(shí)間的比較,其實(shí)就是戰(zhàn)斗力的比較。
(4)乘法公式下,每一點(diǎn)防御力的收益恒定。這點(diǎn)很隱蔽,也有點(diǎn)違背感性認(rèn)識(shí)。但是我們拿戰(zhàn)斗力的公式來(lái)看,不難發(fā)現(xiàn):在atk,hp不變的情況下,戰(zhàn)斗力和def其實(shí)是成正比的(也就是一個(gè)線(xiàn)性函數(shù))

抽卡問(wèn)題
1. 優(yōu)惠券收集問(wèn)題(Coupon Collector's Problem)
有M種卡牌,每次從中抽一張,有放回,問(wèn)抽N次能集齊一套的概率?
【來(lái)源】經(jīng)典理論,大量公司基于此題進(jìn)行變化
【解答】
此題其實(shí)是有難度的,網(wǎng)上錯(cuò)解相當(dāng)多,比如直接算無(wú)窮級(jí)數(shù)收斂的。我這里先貼兩個(gè)比較靠譜的參考答案,待徹底搞懂后,拿具體題目來(lái)分享解法。推薦先看第一個(gè)鏈接。
https://www.zhihu.com/question/20426032/answer/1591037133
https://zhuanlan.zhihu.com/p/150899532

各種拋的概率
1. 拋一枚硬幣,假定它正面朝上的概率為p,若連續(xù)k次正面向上即停止,求平均拋擲的次數(shù)?
【來(lái)源】真題一般化
【解答】
先給出結(jié)論
比如說(shuō),題目給出p=1/2,要求連續(xù)3次正面,那么代入得平均次數(shù)=6
詳細(xì)的證明見(jiàn)如下鏈接。和馬爾科夫一樣,數(shù)學(xué)期望問(wèn)題多到足以單獨(dú)開(kāi)一篇講解。
https://zhuanlan.zhihu.com/p/68358814
2.?不停地拋一枚質(zhì)地均勻的骰子,它的六個(gè)面分別寫(xiě)有0-5,當(dāng)累計(jì)的數(shù)字和大于12時(shí)即停止,問(wèn)最可能出現(xiàn)的數(shù)字和是多少?
3.?A和B各有2個(gè)骰子。A是老賴(lài),他有一個(gè)骰子6個(gè)面全是6,其余三個(gè)骰子是正常的(6個(gè)面分別寫(xiě)有1-6)。他們每次拋?zhàn)约旱膬蓚€(gè)骰子,點(diǎn)數(shù)和大的贏,一樣算平局。問(wèn)若B輸一次要支付A m 元,那么A輸一次應(yīng)該支付B多少元,才能讓這個(gè)游戲公平?
【來(lái)源】真題
【解答】
(筆試時(shí)看到題目笑出聲來(lái)... ...)
因?yàn)锳是個(gè)老賴(lài),所以他的點(diǎn)數(shù)和的情況很好算,只能是 7-12 ,而且是等概率的
B的點(diǎn)數(shù)和是經(jīng)典的六面骰點(diǎn)數(shù)和,列個(gè)表出來(lái)如下所示

古典概型,一共只有 6*36=216種情況,可以分類(lèi)枚舉(注意對(duì)角線(xiàn)是分界線(xiàn)),如下

平局不用考慮,160/35=32/7,那么A輸一次應(yīng)該支付32/7 * m 元

數(shù)學(xué)邏輯題
最常見(jiàn)的就是各種推理:誰(shuí)說(shuō)謊了、誰(shuí)是什么職業(yè)... ... 一般都用假設(shè)法解決。就是先把確定的條件羅列完,剩余的不確定的情況,先假設(shè)后驗(yàn)證,有矛盾則不成立。討巧的是,一般這列題目是唯一解,所以如果發(fā)現(xiàn)一個(gè)合理的情況,也不用考慮其他情況了。

行測(cè)中的數(shù)學(xué)題
行測(cè)有很多數(shù)學(xué)題其實(shí)就像腦筋急轉(zhuǎn)彎,私以為很無(wú)聊... ...但是人家既然考,咱也不得不準(zhǔn)備。
1.?有若干根粗細(xì)不均勻的蠟燭,完全燒完一根需要1h,問(wèn)
(1)怎么用這些蠟燭計(jì)時(shí)30min
(2)怎么用這些蠟燭計(jì)時(shí)15min
【來(lái)源】某公司真題
【解答】
(這題還是公務(wù)員考試的名題,沒(méi)想到還拿來(lái)考數(shù)值策劃了...考數(shù)值策劃...)
(1)同時(shí)點(diǎn)燃一根蠟燭的兩端
(2)同時(shí)點(diǎn)燃兩根蠟燭,一根只點(diǎn)燃一端,另一根點(diǎn)燃兩端,那么當(dāng)?shù)诙灎T燒盡的時(shí)候,把第一根蠟燭的另一端也點(diǎn)燃了,它最后燃燒的時(shí)間就是15min。

數(shù)學(xué)難題
這個(gè)板塊是講不完的,只能選一些最典型的講,一般都需要對(duì)特定知識(shí)有了解才會(huì)做。
博弈論相關(guān)
博弈論就夠我單獨(dú)開(kāi)一篇文章了,最??嫉氖?strong>混合策略納什均衡??梢院?jiǎn)單理解為:我不會(huì)只用一個(gè)“招法”,我會(huì)換著來(lái),也就是各種“招法”按一定的概率用。
1.?A和B玩“石頭剪刀布”,為了避免平局的情況,他們約定:如果兩人都出石頭或都出剪刀,則A贏;都出布,則B贏。兩人都足夠聰明,問(wèn)各自的勝率是多少?
【來(lái)源】某公司真題,最早好像是雷火出的
【解答】
容易看出這個(gè)規(guī)則對(duì)于B是不利的,因?yàn)殡p方猜拳共有9種情況,5種A贏4種B贏。假如B有某種策略能讓他獲勝的概率達(dá)到1/2,那么這個(gè)策略對(duì)于B而言就是最優(yōu)的(至少是之一)。
先假定若干參數(shù),表示玩家雙方出對(duì)應(yīng)拳法的概率。

由于沒(méi)有平局的情況,我們直接算玩家B的勝率

我們驚喜的發(fā)現(xiàn):當(dāng)q=0,p=1/2時(shí),不僅B的勝率達(dá)到了1/2,而且此時(shí)無(wú)論A采用什么策略,B的勝率始終都是1/2!
嚴(yán)格意義上說(shuō),我們還要證明B沒(méi)有更優(yōu)的策略了,但作為一道筆試題,做到這個(gè)地步足矣。
說(shuō)明:這題網(wǎng)上有答案給的是(4/9,5/9),但我和某位大佬討論一致認(rèn)為應(yīng)該是(1/2,1/2)
高等數(shù)學(xué)相關(guān)
1.?一輛摩托車(chē)攜帶的油量可以走50km,摩托車(chē)之間可以互相加油且無(wú)損耗,問(wèn)至少要幾輛摩托車(chē),才能走過(guò)100km的路程?
【來(lái)源】某公司真題,非原創(chuàng)
【解答】
說(shuō)兩種方法:
第一種是特殊化解法。
顯然1輛、2輛摩托車(chē)是不夠的。1輛只能走50km,兩輛只能走75km。
如果有3輛摩托車(chē),我們?nèi)菀紫氲揭环N方法是:各自消耗1/3的油,也就是走了16.7km,然后把其中1輛剩下的油分給另外2輛車(chē),這樣那2輛車(chē)滿(mǎn)油了。然后可以再走75km,一共走了91.7km。
如果有4輛摩托車(chē),我們不難想到類(lèi)似的方法:各自消耗1/2的油,也就是走了25km,然后把其中2輛剩下的油分給另外2輛車(chē),這樣那2輛車(chē)滿(mǎn)油了。然后可以再走75km,一共走了100km,正好夠。
注意,這樣的解法是有風(fēng)險(xiǎn)的:3輛的時(shí)候我們?cè)O(shè)想的方法“差一點(diǎn)”就能走過(guò)100km了,會(huì)不會(huì)有更好的方法呢?我們并不確定,只不過(guò)作為一道題目,我們可以適度地投機(jī)、猜測(cè)。
第二種方法是一般化方法。詳見(jiàn)某乎的鏈接,推導(dǎo)出了一般化的公式
https://zhuanlan.zhihu.com/p/426391878
其結(jié)論為:若有n輛車(chē),每輛車(chē)油量可行駛M公里,那么總最大里程為
M*(1+1/2+1/3+...+1/n)