博弈论
芋智波佐助
菜鸟一只
展开
-
HDU 3094 A tree game 树的删边游戏
叶子节点的SG值为0 非叶子节点的SG值为为它的所有子节点的SG值加1 后的异或和#include #include #include using namespace std;vector G[100010];int sg[100010];int dfs(int x, int f){ if(sg[x] != -1) return sg[x]; if(!G[x].size原创 2014-11-20 14:23:47 · 982 阅读 · 0 评论 -
HDU 1527 取石子游戏 威佐夫博弈
题目来源:HDU 1527 取石子游戏题意:中文思路:威佐夫博弈 必败态为 (a,b ) ai + i = bi ai = i*(1+sqrt(5.0)+1)/2 这题就求出i然后带人i和i+1判断是否成立以下转自网上某总结有公式ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,…,n 方括号表示取整函数) 其中出现了黄金分割数(1+√5)/2原创 2014-08-10 19:07:41 · 975 阅读 · 0 评论 -
POJ 3537 Crosses and Crosses SG函数
在1*n的格子里轮流划×,先划3个连续的×获胜,当在i这个位置划×之后,分成2部分:开始到i-3和i+2到结束。package fd;import java.lang.reflect.Array;import java.util.Arrays;import java.util.HashSet;import java.util.Scanner;import java.ut原创 2016-07-18 09:03:53 · 307 阅读 · 0 评论 -
POJ 2311 Cutting Game SG函数
宽w高h的纸张轮流切割,首先切出1*1纸张的获胜,必败态为宽和高有一个长度为2的状态,剩下的就是SG函数了,就是切成2个纸张的SG值异或和。package fd;import java.lang.reflect.Array;import java.util.Arrays;import java.util.HashSet;import java.util.Scanner;原创 2016-07-18 09:03:52 · 461 阅读 · 0 评论