1. 程式人生 > >不平等博弈問題學習記錄(二)

不平等博弈問題學習記錄(二)

在上一篇文章中,定義了{l|r}這個運算
但是,還有很多的特殊情況沒有考慮過,就比如說,在{L|R}的運算中,L或R為空集怎麼辦,那麼這個這個空集就可以用 Φ 表示,不過一般可以用不寫任何東西來表示,比如說 |

= 0 ,可以當做無窮(如果是左邊是空集,那麼可以視為是無窮小,如果右邊是空集,那麼可以視為是無窮大)
另外,當l=r=0的時候呢,兩個子狀態都是先手必敗態,那麼答案是什麼呢,那很顯然是先手必勝態,那麼用什麼表示呢,好像沒有數能表示啊

定義一個數 = { 0 | 0 },這個狀態表示先手必勝態,那麼顯然 0 ={ |

},這樣一來就成功解覺這個問題了, 小於所有正數,大於所有負數,和0無法比較

定義好了 ,那麼與 相關的運算呢,如果 與一個正數或負數進行運算, 與自己運算也有了定義,那麼 與0運算呢,真是神奇,那就還要定義新的東西啦

={ 0 | }
={ | 0 }
那麼,這個 與其它數有什麼關係呢
對於 ,容易看出 是第一個玩家必勝態,所以 >0,另外呢 又小於每一個正數(有證明,但要用到這種定義下的加法),所以類似於 就好像正無窮小
對於 ,容易看出 是第一個玩家必敗態,所以 <0,同樣類似於 大於每一個負數,所以 可以近似看作正無窮小

新定義了那麼多東西,{ l | r }的很多運算就差不多解釋完了
總結一下
Φ < <↓< 0 , <↑ < Φ
對於運算{ L | R }可以轉化為{max(L)|min(R)}(L,R都是集合)
也就轉化到了{ l | r }的問題了(l,r,都是數)
如果l < r那麼{ l | r }的結果:
若l、r之間有整數,{l|r}=x(l < x < r且x是所有滿足的數中離0最近的整數)
若l、r之間無整數,{l|r}=x/y(l < x/y < r且y=2^k(k是正整數)且y是所有滿足條件的數中最小的數,x是在滿足前面的條件下的可取值中離0最近的整數)
如果l=r=0或者l=r=*
那麼結果是0 = { | }, = { 0 | 0 }
然後另外有如下公式
={ 0 | }
={ | 0 }
知道上述的定義,差不多就能解決所有的這一類的OI題目了,但是考慮 0 | 之類的結果是什麼呢,在這裡還無法解釋,理解上述內容其實已經夠用了,但是學一樣東西就要學透,所以在下一篇文章中我會寫到加法運算的定義,當然先理解這篇文章的內容是最重要的,當然我的說法並不一定完全嚴謹,如果有問題敬請提出,記錄(二)到這裡就結束了