小k的硬币问题
http://120.78.162.102/problem.php?cid=1432&pid=3
http://120.78.162.102/problem.php?id=6245
題解:不會做,先扔官方題解
這道題要用到博弈論的思維來解答,先來分析每一堆硬幣,數量為1~10,
當數量為1時,沒法選擇策略,只能拿1個,
當數量為2~5時,先選的人可以選擇拿走n-1個,下一堆硬幣有優先選擇權,也可以選擇拿走n個,下一堆硬幣后選,
當數量為6時,只有一種策略,就是拿走5個(因為拿走5個以下時,另一個人就能決定你下一堆硬幣的先后手,題目已經申明兩個人都足夠聰明),這是下一堆硬幣先選,
當數量為7~10時,可以選擇拿走n-6個,此時對方只能拿走5個,然后自己拿走剩下的1個,下一堆硬幣后選,也可以直接拿走5個,讓對方決定自己下堆硬幣是先手還是后手。
因為考慮到一開始后手的人有一次一次性拿走一堆硬幣的機會,所以以該角色進行倒推(倒推的話,每個人在選擇的時候都能看出自己之后怎么選才是最合適的),分為4個狀態,
1.該堆硬幣有優先選擇權,且有一次機會已經用過,
2.該堆硬幣沒有優先選擇權,且一次機會已經用過,
3.該堆硬幣有優先選擇權,且有一次機會,
4.該堆硬幣沒有優先選擇權,且沒有機會,保存每種狀態下能拿到的最多的硬幣數量。
從后往前開始逆推時,要考慮的如果有一次機會的話,可以通過這一次機會來改變自己下一堆硬幣的先后手,且如果是后手,對方只會選擇讓你拿到最少硬幣的策略。當逆推結束是,第二種狀態能拿到的最多的硬幣數量就是,后手這個角色能拿到的最多的硬幣數量。
總結
- 上一篇: 超超的自闭意思
- 下一篇: Repeating Cipher