E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Nim博弈
nim博弈
hdu3951 Coin Game
传送门:点击打开链接题意:n个硬币摆成一个环,每次可以取的个数为[1,k]且必须是连在一起的,先取完的胜利思路:如果刚开始不是环,是链状的,那么就可以直接用SG函数以及nim游戏的知识搞定,但是这个是环,其实这个环也可以分解成一个独立的链状游戏,看留给对手的状态中是否有必输的情况,就能知道环状的是否能必赢了。然后打出表,找规律#include #include #include #include
qwb492859377
·
2015-12-10 18:00
Anti-
nim博弈
John poj3480
传送门:点击打开链接题意:和nim游戏一样,只不过取最后一个石子的人输。思路:有一个SJ定理,是专门用来求Anti-nim游戏的,如下SJ定理SG函数的求法一模一样,最后如果只有一堆,也能用SJ定理如果为Anti-Nim游戏,如下情况先手胜SG异或和为0,且单个游戏的SG全部1,即 #include #include #include #include #include #include #inc
qwb492859377
·
2015-12-10 18:00
nim博弈
hdu2176 取(m堆)石子游戏
问最后是否能赢,第一步要怎样才能赢、思路:
nim博弈
,根据SG函数定理,如果是独立游戏,那么应该是所有独立游戏的SG函数的异或值。
qwb492859377
·
2015-12-10 18:00
nim博弈
Codeforces603C Lieges of Legendre
传送门:点击打开链接题意:N堆石子,轮流取石子,先取完的胜利。取石子的方法有两种。1.在某一堆中取1个2.如果某一堆里的石子个数为偶数(2*x),可以拆成k堆石子,每堆石子x个思路:对k的奇偶性讨论,然后再打出SG函数表,很容易就能找到规律,再把规律写出来就做完了#include #include #include #include #include #include #include #incl
qwb492859377
·
2015-12-10 18:00
博弈
一个很优雅的结论:(在
NIM博弈
中) 对
·
2015-11-13 18:05
hdu 1536 S-Nim
pid=1536 S-Nim 博弈 需要用SG 处理 最简单的S-
Nim博弈
是 每一堆可以任取正整数个 比如说 k 可以变成 k-1,k-2,k-3,···
·
2015-11-13 13:33
HDU
HDU 1849 Rabbit and Grass
pid=1849
Nim博弈
View Code #include <iostream> using namespace std ; int main() {
·
2015-11-13 02:57
HDU
POJ 1704 Georgia and Bob【
Nim博弈
】
POJ 1704 Georgia and Bobhttp://poj.org/problem?id=1704大意:Georigia和Bob玩棋子游戏,棋子排成一行,类似于落入x坐标上,最左端为原点0所在位置,棋子i坐落于x轴上的chess[i](chess[i]>0)位置,游戏规则如下:1.每人每次可以且只能移动一个棋子2.每次移动棋子的格子数不限3.只能向左移动棋子4.移动过程中不能覆盖或
·
2015-11-12 19:31
poj
poj3480
分析:看题目类似
nim博弈
问题。所以想到sg函数,nim的sg是把格堆石子数抑或起来,看是否为0。本题我们就自己写出一些能解决的状态(可以手动判断np状态),观察各堆总数抑或结果和必胜必败态的联系。
·
2015-11-12 17:33
poj
HDU 1848
pid=1848 利用计算grundy数组,把一类博弈转化为
nim博弈
,最后x不为0为先手必胜态 #include <iostream> #include <cstdio
·
2015-11-12 14:11
HDU
HDU 2176
pid=2176
nim博弈
的模型。
·
2015-11-12 10:17
HDU
hdu 4315 Climbing the Hill(阶梯博弈转
nim博弈
)
Climbing the Hill Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 919 Accepted Submission(s): 411 Problem D
·
2015-11-11 19:22
bing
ZOJ 3529 A Game Between Alice and Bob (分解质因数+
Nim博弈
+输出方案)
A Game Between Alice and Bob Time Limit: 5 Seconds Memory Limit: 262144 KB Alice and Bob play the following game. A series of numbers is written on the b
·
2015-11-11 13:18
game
HDU 2176 取(m堆)石子游戏 (
Nim博弈
)
取(m堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1937 Accepted Submission(s): 1115 Problem
·
2015-11-11 13:17
HDU
hdu 2176 取(m)石子游戏
典型的
Nim博弈
,先判断T态,若是非T态再求第一次取子的个数 /*取(m堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others)
·
2015-11-11 00:39
HDU
HDU 2509 Be the Winner
这题
Nim博弈
;这一就是要考虑全部为1的情况; View Code 1 #include<iostream> 2 #include<cstdio> 3 #include
·
2015-11-08 10:15
inner
HDU 1850 Being a Good Boy in Spring Festival
典型的
Nim博弈
题 View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib
·
2015-11-08 10:14
spring
HDU 1907 John 与 poj 3480
这是一道
Nim博弈
; 这要要考虑就是全是1的情况; View Code 1 #include<cstdio> 2 #include<cstring> 3
·
2015-11-08 10:13
poj
light oj 1393 - Crazy Calendar 博弈论
只需考虑与右下角奇偶不同的位置,可以看成
NIM博弈
。最后NIM和不为0的胜,否者败!!
·
2015-11-07 10:37
calendar
zoj 3529 A Game Between Alice and Bob 博弈论
思路:每个数的SG值就是其质因子个数,在进行
nim博弈
代码如下: 1 #include<iostream> 2 #include<cstdio>
·
2015-11-07 10:30
game
hdu 1850 Being a Good Boy in Spring Festival <
nim博弈
>
pid=1850 题意:
nim博弈
先手赢的方法数: 思路:通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了
·
2015-11-05 09:09
spring
poj 2234 Matches Game
一道典型的
Nim博弈
: View Code #include<iostream> #include<cstdio> #include<cstdlib>
·
2015-11-02 12:38
matches
poj 2975 Nim
Nim博弈
题:这个题是要你求如果先手能赢,有几种策略; View Code #include<iostream> #include<cstdio> #include
·
2015-11-02 12:38
poj
HDU 1850 Being a Good Boy in Spring Festival 在春节做乖孩子(
Nim博弈
,微变形)
思路:如果全部扑克牌数目异或的结果ans为0,则必输,输出0。否则,必须要给对方一个P状态,可以对所有扑克堆进行逐个排查,将ans^a[i]就可以得到除了a[i]之外其他扑克数的异或结果tmp,目的就是要使得tmp为0,那么肯定要从a[i]堆中拿走一些牌使得剩下的牌数异或tmp为0。可能出现的情况(1)tmp比a[i]还大,那么这不是正确的方案。(2)tmp=0,那么要将a[i]全
·
2015-11-02 11:09
spring
HDU Rabbit and Grass 兔子和草 (
Nim博弈
,水)
思路:简单
Nim博弈
,只需要将所给的数字全部进行异或,结果为0,则先手必败。否则必胜。知道方法的人1分钟写完代码,不知道的人研究几小时都难写。
·
2015-11-02 11:05
HDU
hdu 1536
NIM博弈
(模板)
推荐文章 博弈论初步:http://www.cnblogs.com/Knuth/archive/2009/09/05/1561002.html 博弈解决思想:http://www.cnblogs.com/Knuth/archive/2009/09/05/1561005.html NIM游戏:http://www.cnblogs.com/Knuth/archive/2009/09/05/156
·
2015-11-02 11:40
HDU
HDU 3032 (
Nim博弈
变形) Nim or not Nim?
博弈的题目,打表找规律还是相当有用的一个技巧。 这个游戏在原始的Nim游戏基础上又新加了一个操作,就是游戏者可以将一堆分成两堆。 这个SG函数值是多少并不明显,还是用记忆化搜索的方式打个表,规律就相当显然了。 1 #include <cstdio> 2 #include <cstring> 3 4 const int maxn
·
2015-11-01 14:29
HDU
HDU 1850 (
Nim博弈
取胜方案数) Being a Good Boy in Spring Festival
考虑到Bouton定理的证明过程,设n个数的Nim和(异或和)为X,其最高位的1在第k位,那么n个数中一定有个y的第k为也是个1. 将y的数量变为X xor y,那么n的数的Nim和为0,便转为先手必败局面。 所以先手有多少种取法,就看n个数里面有多少个y,满足二进制的第k为是个1。 1 #include <cstdio> 2 3 const int maxh
·
2015-11-01 14:16
spring
博弈最高位POJ 1704(Georgia and Bob-
Nim博弈
)
新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 Georgia and Bob Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 6341 Accepted: 1826 Description Geo
·
2015-11-01 14:09
poj
HDU 3389 (
Nim博弈
变形) Game
参考了众巨巨的博客,现在重新整理一下自己的思路。 首先在纸上画了一下转移图: 1 3 4号盒子是不能够再转移卡片到其他盒子中去了的,其他盒子中的卡片经过若干步的转移最终也一定会转移到1 3 4号盒子中去。 具体来说,n % 6 == 0 或 2 或 5的盒子,经过奇数步转移到1 3 4中去,其他的则须经过偶数步才能转移过去。 下面来证明,所有卡片都在偶数步盒子中是必败状
·
2015-11-01 10:56
game
hdu 1850 Being a Good Boy in Spring Festival (Nim)
pid=1850
Nim博弈
,求保证先手必胜可选的方案数。 对于一个必胜的局面,至少有一个方案可以到达必败局面。也就是说,对于a1^a2..^an!
·
2015-10-31 15:59
spring
HDU 2176 (
Nim博弈
先手取胜方案) 取(m堆)石子游戏
切切水题,放松心情:-D 1 #include <cstdio> 2 3 const int maxn = 200000 + 10; 4 int a[maxn]; 5 6 int main() 7 { 8 //freopen("in.txt", "r", stdin); 9 10
·
2015-10-31 11:27
HDU
Nim博弈
游戏
给定n堆石子,每次每人能从一堆石子中取若干个石子(不能不取),最后不能取石子者败 对于这个游戏,我们要判断的是,给定局势下,先手者胜还是败 设先手胜的局势为N-postion,先手败的局势为P-postion 可以移动到P-postion的局势叫做N-postion,只能移动到N-postion的局势叫做P-postion。 1、只有一堆的情况下先手胜 2、只有两堆 a、数目相等的
·
2015-10-31 11:10
游戏
Hdu 1729
Nim博弈
首先, 是多堆
Nim博弈
毫无疑问,这题是往一个有固定容量的箱子里放石子,和从一堆石子里面拿出石子是一个道理。
·
2015-10-31 10:34
HDU
Hdu 1730
Nim博弈
首先来看其中一行的情况,因为只有两个点,一个黑色,一个白色,每个点都可以自由移动,但不可以跨过另一个点,也不可以和另一个点位置重合,我们可以把两点直接的距离看做是单堆
Nim博弈
中的石子的个数,为什么呢?
·
2015-10-31 10:34
HDU
[置顶] 2013 Multi-University Training Contest 8
1003 Mine 简单sg的博弈题,我们走入了
nim博弈
的误区,后来发现改了三四个字符就过了。。。。我只能说我是sbsbsbsbsbsb。。。判奇偶啊。。。
·
2015-10-31 09:31
test
HDU 2176(
Nim博弈
)
取(m堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 975 Accepted Submission(s): 582 Problem Descripti
·
2015-10-30 15:37
HDU
HDU3032
nim博弈
题目大意: 可以从某一堆中取任意个数,也可把一堆分成两个不为0的堆,直到某一方无法操作为输 因为是
nim博弈
,所以只要考虑一堆时候的sg值,把所有堆的sg值异或即可 很显然这里 0
·
2015-10-30 14:00
HDU
hdu 3915 高斯消元
本题涉及的博弈是
nim博弈
,结论是:当先手处于奇异局势时(几堆石子数相互异或为0),其必败。 思路在这里,最后由于自由变元能取1、0两种状态,所以,最终答案是2^k,k表示自由变元的个数。
·
2015-10-30 13:18
HDU
NIM博弈
的必胜取法
#include<stdio.h> const int Max = 100000; int a[Max]; int main() { int i,n,ans; int tmp; while(scanf("%d",&n)!=EOF) { ans=0; for(i=0;i<
·
2015-10-23 08:41
IM
HDU_1703 Northcott Game(博弈论)
这题是
Nim博弈
的一个变形,将两坐标的距离看作一堆石子中的石子数,n就是石子堆数,所以根据
Nim博弈
的结论:a1 ^ a2 ^ a3……^an == 0 ,则必胜。所以这题的答案就出来了。
·
2015-10-21 11:02
game
Nim博弈
Nim游戏的概述:还记得这个游戏吗?给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取。最后拿光珍珠的人输。后来,在一份资料上看到,这种游戏称为“拈(Nim)”。据说,它源自中国,经由被贩卖到美洲的奴工们外传。辛苦的工人们,在工作闲暇之余,用石头玩游戏以排遣寂寞。后来流传到高级人士,则用便士(Pennies),在酒吧柜台上玩。最有名的玩法,是把十二枚便士放成3、4、5三列
yanghui07216
·
2015-09-25 16:00
Being a Good Boy in Spring Festival 1850 (
Nim博弈
)
BeingaGoodBoyinSpringFestivalTimeLimit:1000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):5842 AcceptedSubmission(s):3482ProblemDescription一年在外父母时刻牵挂春节回家你能做几天好孩子吗寒假里尝
yanghui07216
·
2015-09-25 15:00
hdu 5465 Clarke and puzzle (二维树状数组+
nim博弈
)
解析:利用二维树状数组来区间询问异或和,以及单点更新,然后利用
nim博弈
的结论判断胜负。
HelloWorld10086
·
2015-09-22 18:00
HDU
5465
Nim博弈
及其扩展
一.Nim游戏1.定义有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负。2.局面给出如下定义:P-Position:Previous-player刚刚走过的选手得胜的局势;N-Position:Next-player将要走的选手得胜的局势;终结状态:没有合法的操作集。由Nim的定义,终结状态就是P态。必
ww32zz
·
2015-09-21 17:00
博弈
hdu5011Game
nim博弈
//可以看出是
nim博弈
//P-position和N-positon还是和原来的
nim博弈
一样 //假设P-position的情况面临d^c=0;其中d为其选择要操作的数 //c为除了这个数之外的所有数
cq_pf
·
2015-09-08 22:00
文章标题
类型:博弈,
nim博弈
思路:运用尼姆博弈的方法求出所有堆纸牌数的异或之后的值t,然后判断是否为0,如果为0
Candycake
·
2015-09-01 22:22
博弈
Nim 博弈
一,题意:有n堆石子,每堆有ai个石子,Alice与Bob两人轮流取石子,每次取石子要求从非空堆中取走至少一颗石子,Alice为先手,取光所有石子的一方获胜,二,解析:该题为标准的
Nim博弈
,必胜态(非奇异态
漩涡梦幻
·
2015-08-24 19:14
博弈论
Nim博弈
变形(anti-nim)
这种题与以往的博弈题的胜负条件不同,谁先走完最后一步谁输,但他也是一类Nim游戏,即为anti-nim游戏。首先给出结论:先手胜当且仅当①所有堆石子数都为1且游戏的SG值为0(即有偶数个孤单堆-每堆只有1个石子数);②存在某堆石子数大于1且游戏的SG值不为0.证明:若所有堆都为1且SG值为0,则共有偶数堆石子,故先手胜。 i)只有一堆石子数大于1时,我们总可以对该石子操作,使操作后堆数为奇数且所有
qq_21120027
·
2015-08-21 20:00
反尼姆博奕
HDU 2509
Nim博弈
之分堆
#include #include #definess(a)scanf("%d",&a) #definess64(a)scanf("%I64d",&a) usingnamespacestd; intmain() { inti,n,m,sum,cnt,j; while(~ss(n)) { inttemp=0; for(i=0,sum=0;i1)temp=1; sum^=m; } if((sum&&
xinwen1995
·
2015-05-13 20:00
博弈
Nim
上一页
1
2
3
4
5
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他