刷了一些博弈論的結論題就不記錄了,把一些有價值的題記錄一下吧。
sg函式打表找規律
# include
using
namespace std;
const
int maxn=
1e4+
100;
int sg[maxn]
;int
main()
int cnt=0;
while(s.count(cnt)) cnt++;
sg[i]=cnt;
} for(int i=0;i<100;i++) coutwhile(~
scanf
("%lld"
,&n)
)return0;
}
直接分析找規律
aa=b || a%b=0 必勝
a>=2b if (a%b, b)是必勝態 ,那麼走( a%b+b , b ) ,因為對手只能走到 ( a%b , b )這個 必勝態,那麼必勝; if (a%b, b) 是必敗態,那麼就走這個,因為必敗態一定可以推出必勝態;綜上a>=2b是必勝的
a>b&&a<2b 就直接執行 a=a-b即可
# include
using
namespace std;
intmain()
if(flag)
printf
("stan wins\n");
else
printf
("ollie wins\n");
}return0;
}
博弈論刷題記
刷了一些博弈論的結論題就不記錄了,把一些有價值的題記錄一下吧。sg函式打表找規律 include using namespace std const int maxn 1e4 100 int sg maxn int main int cnt 0 while s.count cnt cnt sg i ...
博弈論 Nim博弈
1.nim博弈的起源很早,至於歷史我們就不再說了,直接說它的使用場景。1 依舊是兩個人博弈,但是物品時n堆,每一堆有ai個。2 每個人可以挑選一堆取走若干個,但是不能不取。3 最先取完所有物品的人獲勝。4 結論 所以堆的物品的數量異或起來是0,先手必敗。2.乙個nim博弈的例項 nim博弈。乍一看這...
博弈論 博弈混合
給你乙個n m的棋盤,然後給你4種棋子,分別是 1.王 能橫著走,或者豎著走,或者斜著走,每次可以走1格 2.車 可以橫著走或者豎著走,每次可以走無數格 3.馬 走日字形,例如 如果現在在 1,1 可以走到 2,3 即先走一格直線,然後斜著走一格 4.王后 可以橫著走,或者豎著走,或者斜著走,每次可...