當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
P4055 [JSOI2009]游戏(二分图匹配+博弈)
生活随笔
收集整理的這篇文章主要介紹了
P4055 [JSOI2009]游戏(二分图匹配+博弈)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
P4055 [JSOI2009]游戲
對(duì)于一個(gè)網(wǎng)格,上面有一些障礙物不能走,A選擇起點(diǎn),然后B走到相鄰的四個(gè)格子之一,然后輪流移動(dòng)不能移動(dòng)的一方失敗。求解所有可以贏的初始位置。
首先對(duì)于這個(gè)問題要想到網(wǎng)格圖上博弈,兩個(gè)人走的格子奇偶性不同,所以可以建立二分圖,然后輪流移動(dòng),現(xiàn)在要求解一個(gè)位置滿足后手必勝。
那么我們發(fā)現(xiàn)這個(gè)位置一定不能夠在最大匹配上,然后我們只需要求出所有不在最大匹配上的點(diǎn),但是最大匹配可能有很多方案,我們需要求出所有方案下都不在最大匹配上的點(diǎn)。
具體方法就是先求解最大匹配,然后對(duì)于不在上面的點(diǎn)進(jìn)行dfs,然后如果能夠回到同一邊,那么將這條路徑取反就得到了一條不同的最大匹配,那么這個(gè)點(diǎn)就是不合法的。這樣就可以得到一定不在最大匹配上的點(diǎn)。
求解一定不在最大匹配上的點(diǎn),求出一個(gè)最大匹配,dfs檢驗(yàn)
總結(jié)
以上是生活随笔為你收集整理的P4055 [JSOI2009]游戏(二分图匹配+博弈)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: P3356 火星探险问题(网络流)
- 下一篇: Spring Boot 学习之旅