
数学——组合游戏
HARD_UNDERSTAND
Just try
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 5724 SG函数+状压(多校)
题意: 一个棋盘有n行,每行20格子,都有一些棋子,两个人轮流进行这个操作:选择某一行一个棋子移动到该行右边第一个空的格子。不能进行的人输。问先手是否能赢。分析: SG函数的应用,当时自己做的时候没做出来QAQ。终结点是这一行没有棋子可以走,即0,然后逆推出其他结点的SG函数。每一行的状态看成是一个结点,然后把状态二进制压缩,1表示有棋子,0表示空格。#include<cstdio> #incl原创 2016-07-21 10:14:33 · 648 阅读 · 0 评论 -
hdu5754 Life Winner Bo 各种博弈(多校)
题意: 给你一个n∗m的棋盘,然后给你4种棋子,分别是: 1.王:能横着走,或者竖着走,或者斜着走,每次可以走1格 2.车:可以横着走或者竖着走,每次可以走无数格 3.马:走日字形,例如:如果现在在(1,1),可以走到(2,3),即先走一格直线,然后斜着走一格 4.王后:可以横着走,或者竖着走,或者斜着走,每次可以走无数格 所有棋子在走的时候只能向右或向下走,不可后退,谁先走到(n,m)原创 2016-07-31 21:17:05 · 563 阅读 · 0 评论 -
hdu 5795 A Simple Nim SG函数(多校)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5795 题意: Nim游戏,只不过可以把挑选石子换成把某堆石子分成三小堆。 分析: 这题队内大牛过的,打个SG表,然后就能看出SG的规律了。#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e原创 2016-08-04 19:23:28 · 729 阅读 · 0 评论 -
UVa 11859 除法游戏(Nim游戏,质因子)
题意: 有一个n * m的矩阵,每个元素均为2~10000之间的正整数,两个游戏者轮流操作。每次可选一行中的1个或者多个大于1的整数把它们中的每个数都变成它的某个真因子,比如12可以变成1,2,3,4,5.不能操作的输,也就是说,谁在操作之前,矩阵中的所有数是1,则输。题目要求判断第一个人是否能获胜。 分析: 考虑每个数包含的素因子的个数,那么让一个数变为它的真因子等价于拿掉他的一个或多个素原创 2016-08-06 16:19:12 · 388 阅读 · 0 评论 -
SGU 153 Playing with matches (博弈,循环节)
题目:http://acm.hust.edu.cn/vjudge/problem/22539 题意: 有N(1e9)根火柴,m个数p1,p2,p3,..pm(m<=8,pi<=9),每个人可以轮流取1根或者pi根火柴,问先取的还是后取的有必胜策略。 分析: 首先如果火柴数目少的话,那么求sg函数即可。但是N太大了。所以我先打了一个表,发现sg函数是循环的,自己造了几组数据也是循环的,所以这原创 2016-09-06 12:13:15 · 409 阅读 · 0 评论