三道博弈論入門題

2022-02-28 12:08:39 字數 876 閱讀 8092

首先同學們要學習一下博弈論...

然後這裡是廣杭電上的三道題:

傳送門題目不多說了,就是兩個人取 n 個石子,每次最多取 m 個,不能操作者輸

其實呢,這玩意兒看標題的鏈結裡的就好了,就是個裸題,**簡短愉快

//by judge

#include#define rg register

int t,n,m;

int main() return 0;

}

傳送門

題目不多說了,其實就是巴什博奕的變種

首先我們可以看出,當前操作者面對 \(x=[n-k,n-1]\) 的情況時必勝

而普通巴什博奕是當前操作者面對剩下 \([1,k]\) 個石子時必勝,可以看到這裡就是反了一下

於是我們把 n 減去 1 之後就可以當做普通的巴什博奕把加石子當做減石子做了,**依舊短

//by judge

#include#define rg register

int n,m;

int main()

傳送門

取 n 個石子,每次取 2 的冪次,不能操作者輸

sg 函式,標題裡有鏈結

sg 函式定義直接上,裸題,這資料範圍 \(n^2\) 也完全頂得住...**相對上面小長

//by judge

#include#define rg register

#define fp(i,a,b) for(rg int i=(a),i=(b)+1;iint n; int g[1003],h[1003];

inline void solv(int n)

}}int main()

博弈論入門

博弈論 是二人或多人在平等的對局中各自利用對方的策略變換自己的對抗策略,達到取勝目標的理論。博弈論是研究互動決策的理論。博弈可以分析自己與對手的利弊關係,從而確立自己在博弈中的優勢,因此有不少博弈理論,可以幫助對弈者分析局勢,從而採取相應策略,最終達到取勝的目的。一.bash博弈 問題 只有一堆n個...

博弈論入門

參考 三個簡單的博弈論問題 博弈 1066 bash遊戲 原題傳送 有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次最少拿1顆,最多拿k顆,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n和k,問最後誰能贏得比賽。例如n 3,k 2。無論a如何拿,b都可以拿到最...

博弈論入門

什麼是博弈 通俗地講,博弈就是指遊戲中的一種選擇策略的研究。博弈的英文為 game 我們一般將它翻譯成 遊戲 而在英語中,game 的意義不同於漢語中的遊戲,它是人們遵循一定規則的活動,進行活動的人的目的是讓自己 贏 我們在和對手競賽或遊戲的時候怎樣使自己贏呢?這不但要考慮自己的策略,還要考慮其他人...