退役划水(22)/一道題的題解以及這道題加強版的題解以及這道題加強版的加強版的題解徵集

開篇是一些扯淡,如果你想看的是那道題,直接往下翻到沒有圖片的地方就好(有兩條分界線的地方)

高產之後閱讀量下滑了(不如不更)

但是還是記錄一下生活(一些個流水賬)


 

上一篇博客沒多少人讀,可能是讀的比較粗也可能是發現了也懶得破譯也可能是沒破譯出來(應該不會吧 很簡單的)

不過結論是並沒有人對此做出什麼迴應(其實似乎也沒什麼可迴應的)

如果單看一個空行的話太容易被發現了,所以選擇直接接在最後一行後面

但是似乎大家對這種謎語人行爲並不感興趣,而且爲了防止以後大家點進我博客第一件事就是Ctrl+A,所以還是先不這麼玩了

然而按照DC的尿性,等到有什麼需要一點腦洞加密的東西可能還會再加密放出來

 


 

按照慣例轉發一些發在QQ空間的值得紀念的小事

終於到萌新線了

(雖然事實上在昨天我又推了一點到了11.54)

 (仔細比對的話 發現有些歌真的半年沒破記錄了 如Vindication)

(骨折光prs快一年沒推了)

事實上是在仿寫半年前的說說(

(但是半年前說的卷可一點都沒有實現)


 

除了打遊戲以外,其實也在嘗試做一些有點意義的事情

(看着同齡人一個比一個現充,唉當代大學生就數我最失敗)

腦子不行那就上身體,也算是有點貢獻

(但有一說一針管怎麼那麼粗,我沒見過那麼粗的針管)

不過有一點後悔,早知道就在浙江獻了,似乎在浙江獻血可以有志願者小時數,但在河北就沒有

上個學期啥也沒幹,志願者小時數還保持着0呢


 


 

算了 來點有營養的東西

今天起牀,沒什麼事,打算學習

但是我打開了B站

然而B站也覺得我太頹了,所以給我推了學習的東西

感覺是可以做成交互題然後擴展到OI上的,而且大概還不算太簡單

考慮下面的問題:

(Easy version): $12$個硬幣,其中沒有假幣或有$1$個假幣, 假幣重量與其它的不同,但不確定是更重還是更輕。 天平稱量$3$次,確定是否有、哪個是假幣、假幣偏輕還是偏重(共25種情況)

(Hard version): 你必須在第一次稱量開始前就把三次稱量方案都確定,而不能根據上一次稱量的結果來決定下一次的方案

(???? version): 硬幣增加一個($13$個硬幣,$27$種情況)


 

$Easy\ version$上來就說左$6$右$6$的回去重新看題,如果天平不平衡的話那你只排除了全都是真的的情況,由於不知道下一步沒法做了

最開始我在想$2^3=8$,跟$12$有什麼關係

然後很快就發現這個$2$是沒有來由的,天平有左傾 右傾 平衡$3$種狀態,那麼一共有$3^3=27$種可能

用來應對$25$種情況應該是足夠的,但也差不多滿了

每次稱量會分出$3$個分支,我們要儘量充分的運用每一個分支

那麼也就是說,要讓$25$種可能情況儘量均衡的分佈在$3$個子分支裏

我們先規定一下$25$種情況的表示方式,$A$表示全是真($All$),$x+$表示$x$是假幣且比其餘硬幣重,$x-$反之

現在我們有$A,1+,2+,3+,4+,5+,6+,7+,8+,9+,10+,11+,12+,1-,2-,3-,4-,5-,6-,7-,8-,9-,10-,11-,12-$這些情況

如果想均衡的話,那你應該會想分成$8+8+9$

那麼由於對稱性,左右傾應該都對應$8$種情況,而平衡是$9$種情況

如果一個硬幣$x$不上秤的話,那麼$x+,x-$自然就都在平衡的情況裏(剩下的都是真的,怎麼稱怎麼平衡)

所以我們決定讓$4$個硬幣不上秤,那麼平衡就有$4+4+1(x+,x-,A) = 9$種情況了

爲了後續表達方便,我們就暫定讓$9,10,11,12$不上秤吧。剩下的均勻分,$1,2,3,4$在左側,$5,6,7,8$在右側

那麼結果以及所對應的情況如下:
B(平衡):$9+,9-,10+,10-,11+,11-,12+,12-,A$

L(左傾):$1+,2+,3+,4+,5-,6-,7-,8-$

R(右傾):$1-,2-,3-,4-,5+,6+,7+,8+$

 

繼續分類討論:

$B:$

這樣的話其實就是$4$硬幣$2$機會的完全一樣的子問題。

類似的,一共$9$種情況,我們想讓它們被均分。

平衡對應$3$種,那麼應該是有一個沒上稱,假設是$12$吧

然後$3$個硬幣似乎沒辦法均勻放在左右邊,所以我們決定把$9,10,11$放在左邊,取用$1-8$號硬幣中的$3$個放在右邊

(我們已經確定它們都是真的,所以用它們來做“砝碼”)
$BB:12-,12+,A$

$BL:9+,10+,11+$

$BR:9-,10-,11-$

 

$BB:$

這就很簡單了,$12$要麼正常要麼輕要麼重,別的都正常

$12$放在左邊,$1-11$隨便拿一個放在右邊

$BBB:A$

$BBL:12+$

$BBR:12-$

 

$BL:$

這樣的話我們知道$9,10,11$中一定恰好有一個是重的

那麼隨便拿兩個上來,例如$9$在左$10$在右吧

$BLB:11+$

$BLL:9+$

$BLR:10+$

 

$BR:$ 與$BL$類似

 

$L:$

現在有$8$種情況,要麼是$1,2,3,4$中有一個重了,要麼是$5,6,7,8$中有一個輕了

$9-12$已經確定都是真的,可以當作砝碼使用

$8$種情況分給$3$個分支,那大概是$3+3+2$了

然後這一步其實有點難想。平衡是$2$的話那應該有兩個不上秤,假定是$4$和$8$吧

然後直觀的想法是把$1+,2+,3+$放一組,$5-,6-,7-$放一組,但發現很難構造對應的稱量方案

一種直觀的想法是把$1,2,3,5,6,7$放左邊,右邊放上$6$個標準的真幣。但是我們只有$4$個已經確定的真幣,所以不太可行

所以我們退而求其次吧,搞一個更加混亂的分組方法:$1,2,6,7$在左,$3,5,9,10$在右(其中$9,10$已經確定爲真幣)

$LB:4+,8-$

$LL:1+,2+,5-$

$LR:3+,6-,7-$

 

$LB:$拿$4$號直接跟真幣比對一下就好了。

$LL:1$和$2$比對一下誰重,誰重誰就假,平等那就是$6$號假

$LR:$與$LL$類似

 

$R:$與$L$類似

 

至此$Easy\ version$的所有情況就說明完了

$Easy\ version$的核心思想就是均分可能性(情況)

用$OI$的話來說,結點數固定且兒子數不超過$3$,那麼滿三叉樹中平衡的那一個深度最小

 


 

來說說$Hard\ version$

不管怎麼說,上述方法需要分類討論,且後一步對前一步有依賴

如果問題簡單的擴展到$4$次機會$39$個幣(是$3$的倍數且沒有滿),可解但是討論量非常非常大

這樣的方法人力消耗極大,而且也很難用計算機實現

把問題擴展到$OI$數據範圍,那直接玩完

所以我們要把問題抽象化,改成數學問題

我們考慮天平乾的是個什麼事:

假設每個硬幣的質量分別是$m_1,m_2,...,m_{12}$

那麼天平實際上是一個函數$f(int\ a[])$,其中參數$a[]$是操作數組

即$a[x]=1$說明硬幣$x$放在左側,$a[x]=-1$說明硬幣$x$放在右側,$a[x]=0$說明$x$不上秤

天平返回的是$sgn(\sum\limits_{i=1)^{12} a_i \times m_i$

$1$表示左傾,$-1$表示右傾,$0$表示平衡

天平的那個和式實際上類似於矩陣(向量)乘法

我們重寫每個硬幣的質量爲$m_i = m_0 + b_i$,其中$m_0$表示真幣質量,$b_i$表示偏差量

由於我們只在意$b_i$的正負(或$0$)而不在意大小,所以我們假設$b$只有$+1,-1,0$三種取值

構造矩陣$M =\begin{bmatrix} m_0 \\ m_0 \\ ...\\ m_0 \end{bmatrix} , B =\begin{bmatrix} b_1 \\ b_2 \\ ...\\ b_{12} \end{bmatrix}, A =\begin{bmatrix} a_1 & a_2 & ...& a_{12} \end{bmatrix}$

我們發現一次稱量就是$A \times (M+B) = result$,$result$只有$1,-1,0$三種取值

由於我們有$3$次稱量,就有$3$個$A$向量。我們把它們並起來,得到一個新的$A$矩陣

$ A =\begin{bmatrix} a_{1,1} & a_{1,2} & ...& a_{1,12} \\ a_{2,1} & a_{2,2} & ...& a_{2,12} \\ a_{3,1} & a_{3,2} & ...& a_{3,12} \end{bmatrix} $

這樣的話結果也會是一個向量$R= \begin{bmatrix} result_1 \\ result_2 \\ result_3 \end{bmatrix}$

現在還是一個$A \times (M+B) = R$。其中$M$是一個所有元素都相等的列向量

如果我們假定$A$中每行的行和爲$0$,那麼等式就可以化簡爲$ A \times B = R$

(很好理解。放在原問題裏就是,如果天平左右側硬幣數量相等,那麼真幣有多重便不再產生影響)

現在我們的問題是,我們要構造一個$3 \times 12$的由$1,0,-1$構成的矩陣$A$

然後根據每一種返回的$R$,求出對應的$B$。

且$B$還滿足一個性質:要麼全是$0$,要麼恰有一個元素爲$1$或$-1$

進一步發現:由於$B$滿足這樣的性質,所以如果$B\neq 0$,那麼$R$一定等於$A$中的某一列,或者是負的某一列

如果$B = 0$那麼也就是說怎麼稱都相等,這樣的話也就是沒有假幣

如果$B = A_{*,x}$也就是等同於第$x$列,這樣的話就說明$b_x=1$也就是$x$是假幣且偏重
如果$B = -A_{*,x}$也就是等同於負的第$x$列,這樣的話就說明$b_x=-1$也就是$x$是假幣且偏輕

爲了使結果$R$與情況一一對應,我們需要保證$A$中的任意兩列不相等,任意兩列不互補

同時由於零向量被用去表示怎麼稱都相等的情況,所以$A$中的任意一列也不能是全零

同時當然受到題意限制,$A$中的每個元素必須是$0,1,-1$中的一個

還有上面爲了簡化問題規定的,$A$中每一行的行元素和爲$0$

隨便構造一個滿足這些條件的矩陣吧

$ A=\begin{bmatrix} -1& 1 & -1 &0 &0& -1&1&1&1&-1&0&0 \\ -1& -1 & 1&1&-1&0&0&1&-1&0&1&0 \\ 1& -1 & -1&1&1&-1&-1&0&0&0&0&1 \end{bmatrix} $

實際上只有$13$對可能的列向量(去掉全零$(27-1)/2$,每一對互補,也就是$A=-A'$),每一對裏選一個,有一對捨棄掉。

事實上你要捨棄的一對一定是三個元素都不爲$0$的四對之一

因爲你要求每行的和爲$0$。那麼也就是說絕對值的和一定要是偶數。這$13$對的絕對值和是$\begin{bmatrix} 9\\9\\9 \end{bmatrix} $

所以要去掉哪一個其實是有這樣的限制的

不管怎麼說,現在有一個能用的$A$了,然後就可以根據$R$向量來查找對應的結果了

很妙。我線性代數真有如白學


 

至於$????\ version$,首先我們先不考慮$Hard\ version$那個限制,也就是即使我們依然可以根據結果決定下一步決策

這樣的話,$13$個幣意味着情況全滿($27$種)

而且硬幣總數不是$3$的倍數也不是$2$的倍數會帶來一些不便。例如說第一步分成$9,9,9$可能都相當困難

所以在$Easy\ version$的$L$情況中出現的混亂可能會更加的多

更進一步的話,第一次平衡需要$9$種情況,那就說明是$4+4+1$,有$4$個幣不上稱

剩下的$9$個幣都要上稱,那麼兩側幣的數量就不一致了,就很難繼續考慮了

這是建立在沒有額外提供真幣的情況下,如果給出了足量的真幣作爲砝碼,那上述問題會相當簡單

例如我如果有$9$個已知真幣,那麼左側放$1-9$右側放$9$個真幣就能把情況很整齊地劃分

同時如果是$Hard\ version$,我們用矩陣去構造

由於是$13$個幣,所以$13$對列向量我們都不能捨棄,那麼每一行和爲$0$的條件就不能被滿足

如果我們有已知的真幣的話,我們可以通過往幣數量少的一邊添加真幣來使得$m_0$的貢獻在兩側達到平衡

如果是$Easy\ version$的話,那麼給我$1$個真幣其實就夠了。我左側放$1-5$右側放$6-9$加一個真幣

那麼結果就分爲了$L:1+,2+,3+,4+,5+,6-,7-,8-,9-/R:1-,2-,3-,4-,5-,6+,7+,8+,9+$

同時$Hard\ version$添加一個幣也是沒問題的。按照原來的方案表示即可。

這就進一步引出了一堆問題:$13$個幣不添加真幣是否無解?$Hard\ version$呢?

我的大腦宕機了。我好菜

希望能有人給出解答$orz$

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章