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
---博弈论
hdu 3951 Coin Game
博弈论
思路: 当n<=k时,先手必胜; 当k=1时,n为奇数先手胜,否则后手胜; 当k>1时,先手操作之后必定形成链,后手操作后形成二条一样的链,之后,先手怎么操作,后手就怎么操作,则后手必胜。 代码如下: 1 #include<stdio.h> 2 int main(){ 3 int t,k=0,n,m; 4 sc
·
2015-11-07 14:19
game
hdu 4678 Mine
博弈论
这是一题简单的
博弈论
!! 所有的空白+边界的数字(个数为n)为一堆,容易推出其SG函数值为n%2+1; 其他所有的数字(个数为m)的SG值为m%2。 再就是用dfs将空白部分搜一下即可!
·
2015-11-07 14:16
HDU
light oj 1393 - Crazy Calendar
博弈论
思路:当移到右下角时,就不能移动了。所以与右下角的奇偶性相同的位置,都不能直接到达,先手必败! 只需考虑与右下角奇偶不同的位置,可以看成NIM博弈。最后NIM和不为0的胜,否者败!! 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm>
·
2015-11-07 10:37
calendar
zoj 3057 Beans Game
博弈论
思路:三维DP,刚开始用记忆化搜索,MLE…… 后来改为直接预处理所有的情况。 总之就是必败态的后继是必胜态!!! 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #incl
·
2015-11-07 10:32
bean
zoj 3591 Nim
博弈论
思路:先生成序列再求异或,最多的可能为n*(n+1)/2; 在去掉其中必败的序列,也就是a[i]=a[j]之间的序列。 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #inc
·
2015-11-07 10:31
ZOJ
zoj 3529 A Game Between Alice and Bob
博弈论
思路:每个数的SG值就是其质因子个数,在进行nim博弈 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 #include&
·
2015-11-07 10:30
game
zoj 3513 Human or Pig
博弈论
思路:P态的所有后继全为H态,第一个格子为P态,第一行和第一列为H态。 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 #
·
2015-11-07 10:30
pig
hdu 4753 Fishhead’s Little Game
博弈论
+记忆化搜索
思路:状态最多有2^12,采用记忆化搜索!! 代码如下: 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm> 4 #include<iomanip> 5 #include<cmath> 6 #include<c
·
2015-11-07 10:27
game
hdu 1404/zoj 2725 Digital Deletions
博弈论
暴力打表!! 代码如下: 1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #include<cmath> 5 #include<cstring> 6 #define M 1000000 7 #define
·
2015-11-07 10:26
git
zoj 2686 Cycle Game
博弈论
其实规律很好找的,当从某点开始,向某一边找出非0的个数,为奇数时必胜。 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int n,a[25]; 5 bool dfs(int m) 6 { 7 int cnt=0,i
·
2015-11-07 10:25
game
zoj 2290 Game
博弈论
思路:HDU有过类似的题目,也就是谁面对FIB数,就处于必败状态。 再求第二问的时候要注意不一定要在一步之内就让对手处于必败状态,可以多步进行, 这个过程可以用递归实现。 代码如下: 1 #include<iostream> 2 using namespace std; 3 int fib[44]; 4 int dfs(int n) 5
·
2015-11-07 10:25
game
poj 1085 Triangle War
博弈论
+记忆化搜索
思路:总共有18条边,9个三角形。 极大极小化搜索+剪枝比较慢,所以用记忆化搜索!! 用state存放当前的加边后的状态,并判断是否构成三角形,找出最优解。 代码如下: 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm> 4 #include&
·
2015-11-07 10:22
poj
poj 3710 Christmas Game
博弈论
之后用
博弈论
的知识:某点的SG值等于子节点+1后的异或和。
·
2015-11-07 10:15
game
poj 2599 A funny game
博弈论
思路:无向图,走过的点不能在走。dfs搞定…… 再就是后继中有必败点的为必胜点! 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #include<vector>
·
2015-11-07 10:15
game
poj 3537 Crosses and Crosses
博弈论
思路:每次画X之后都会形成2个子游戏,即i-3和n-i-2. 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #include<vector> 6 #includ
·
2015-11-07 10:14
poj
poj 2068 Nim
博弈论
思路:dp[i][j]:第i个人时还剩j个石头。 当j为0时,有必胜为1; 后继中有必败态的为必胜态!!记忆化搜索下就可以了! 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5
·
2015-11-07 10:13
poj
poj 1678 I Love this Game!
思路:这题和
博弈论
的关系不大,主要是DP。记忆化搜索即可!!! 取的数一定是大于0的,所以将负数去掉!!
·
2015-11-07 10:12
this
poj 2425 A Chess Game
博弈论
思路:SG函数应用!! 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<vector> 5 #include<cstring> 6 using namespace std; 7 int
·
2015-11-07 10:12
game
poj 2311 Cutting Game
博弈论
思路:求SG函数!! 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 using namespace std; 6 int sg[202][202]; 7 int getsg
·
2015-11-07 10:11
game
hdu 3590 PP and QQ
博弈论
思路: 在贾志豪神牛的论文 里,这两种游戏都有 其中树的删边游戏:叶子节点的SG值为0;中间节点的SG值为它的所有子节点的SG值加1 后的异或和。 ANTI-SG:先手必胜当且仅当:(1)游戏的SG函数不为0且游戏中某个单一游戏的SG函数大于1;(2)游戏的SG函数为0且游戏中没有单一游戏的SG函数大于1。 代码如下: 1 #include<cstdio&
·
2015-11-07 10:00
HDU
hdu 3094 A tree game
博弈论
思路: 叶子节点的SG值为0;中间节点的SG值为它的所有子节点的SG值加1 后的异或和。 详见贾志豪神牛的论文:组合游戏略述 ——浅谈SG游戏的若干拓展及变形 代码如下: 1 #include<cstdio> 2 #include<vector> 3 using namespace std; 4 vector<int>
·
2015-11-07 10:59
tree
hdu 4155 The Game of 31
博弈论
给出序列,在剩下的卡中选择,谁先拿到大于31的输,搜一下就可以了! 代码如下: 1 #include<cstdio> 2 #include<cstring> 3 char str[25]; 4 int a[7],sum; 5 bool dfs(int m) 6 { 7 if(m>=31) return 0; 8
·
2015-11-07 10:59
game
博弈论
SG函数应用!! 代码如下: 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 int
·
2015-11-07 10:58
game
hdu 2873 Bomb Game
博弈论
SG函数打表,求NIM和!!! 代码如下: 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std;
·
2015-11-07 10:57
game
hdu 3404 Switch lights
博弈论
主要是求NIM积!!! 代码如下: #include<iostream> #include<cstdio> #include<stack> #include<cstring> #define ll __int64 using namespace std; int f[20][20]; int nim(int
·
2015-11-07 10:56
switch
hdu 1538 A Puzzle for Pirates
博弈论
很经典的问题,思路转载自 http://blog.csdn.net/ACM_cxlove?viewmode=contents 题目:这是一个经典问题,有n个海盗,分m块金子,其中他们会按一定的顺序提出自己的分配方案,如果50%以上的人赞成,则方案通过,开始分金子,如果不通过,则把提出方案的扔到海里,下一个人继续。 首先我们讲一下海盗分金决策的三个标准:保命,拿更多的金子,杀人,优先级
·
2015-11-07 10:55
for
hdu 4023 Game
博弈论
思路: 将15种分成5类: 1.1和2为一类; 2.3,4,5,6为一类; 3.7,8,9,10为一类; 4.11,12,13,14,15为一类; 5.15为一类。 比较各类的优先级,就会发现放置的顺序为5->2->4->3->1. 代码如下: 1 #include<iostream> 2 #include<stdio.
·
2015-11-07 10:51
game
hdu 3595 GG and MM
博弈论
同时进行,必须操作这就是Every-SG的特点 同样在贾志豪的论文中有提到这种游戏:组合游戏略述——浅谈SG游戏的若干拓展及变形 其中这个游戏特点不仅有必胜和必败,而且有时间长短的博弈,对于自己必胜的局面,希望步数越多越好,自己必败的局面,早点结束才有利。显得更加复杂。 其中论文中提到,必胜当且仅当所有的单一游戏步数最大的为奇数
·
2015-11-07 10:48
HDU
PKU 2234 Matches Game
分析:简单的
博弈论
。
·
2015-11-05 09:07
matches
用python验证蒙提霍尔问题
蒙提霍尔问题,亦称为蒙特霍问题或三门问题(英文:Monty Hall problem),是一个源自
博弈论
的数学游戏问题,大致出
·
2015-11-03 21:42
python
博弈论
(二):Sprague-Grundy函数
上一期的文章里我们仔细研究了Nim游戏,并且了解了找出必胜策略的方法。但如果把Nim的规则略加改变,你还能很快找出必胜策略吗?比如说:有n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……这时看上去问题复杂了很多,但相信你如果掌握了本节的内容,类似的千变万化的问题都是不成问题的。 现在我们来研究一个看上去似乎更为一般的游戏:给
·
2015-11-02 19:56
run
ACM主要算法
1.图论 2.数据结构 3.搜索 4.动态规划 5.模拟 6.数学 7.计算几何 8.
博弈论
9.字符串 ========================================= 初期: 一.
·
2015-11-02 18:51
ACM
组合游戏(博弈)
昨天看大白书翻到了组合游戏这章,看着发觉原来是
博弈论
的内容,于是便看下去了。真是不看不知道,一看才知道自己的水平有多弱,不过好在还是集中精神地看了大部分。
·
2015-11-02 17:03
游戏
lightoj 1296 - Again Stone Game
博弈论
思路:由于数据很大,先通过打表找规律可以知道, 当n为偶数的时候其SG值为n/2; 当n为奇数的时候一直除2,直到为偶数m,则SG值为m/2; 代码如下: 1 #include<stdio.h> 2 int cal(int m) 3 { 4 while(m&1) m>>=1; 5 return m&g
·
2015-11-02 14:31
game
lightoj 1229 - Treblecross
博弈论
思路:SG函数 枚举先手的每一个位置是否有必胜。 1)如果出现了XXX则必胜; 2)如果出现了XX或X.X则必败; 3)否则计算后手的sg值和。 代码如下: 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<vect
·
2015-11-02 14:30
OS
【我当项目经理那些年】管理杂谈—三个火枪手
【我当项目经理那些年】管理杂谈—三个火枪手 1 三个火枪手 三个火枪手是
博弈论
的经典故事,讲的是:彼此都有仇的甲、乙、丙三个火枪手,狭路相逢,准备决斗。
·
2015-11-02 13:34
项目经理
Codeforces Round #124 (Div. 2) 弱菜解题报告
A题一个
博弈论
的题目,拿过来果断以为奇数1胜,偶数2胜写完提交直接WA....无语。题意是:给定一个n*m的矩形,两人轮往矩形里放半径为r的盘子,盘子必须连接不能覆盖。求谁先胜?
·
2015-11-02 11:58
codeforces
hdu 1536 NIM博弈 (模板)
推荐文章
博弈论
初步:http://www.cnblogs.com/Knuth/archive/2009/09/05/1561002.html 博弈解决思想:http://www.cnblogs.com
·
2015-11-02 11:40
HDU
poj 2975 Nim
博弈论
令ans=a1^a2^...^an,如果需要构造出异或值为0的数, 而且由于只能操作一堆石子,所以对于某堆石子ai,现在对于ans^ai,就是除了ai以外其他的石子 的异或值,如果ans^ai<=ai,那么对于ai的话,是可以减小到ans^ai的值,然后使得所有数 的异或值为0,也即转移到了必败态。 代码如下: #include<iostream>
·
2015-11-01 16:42
poj
HDU 2897 (博弈 找规律) 邂逅明下
根据
博弈论
的两条规则: 一个状态是必胜状态当且仅当有一个后继是必败状态 一个状态是必败状态当且仅当所有后继都是必胜状态 然后很容易发现从1开始,前p个状态是必败状态,后面q个状态是必胜状态
·
2015-11-01 14:13
HDU
POJ 2068 Nim(
博弈论
+dfs)
Description有2n个人,两方各n个人,交叉坐,每个人可以取的石子有一个最大限制Mi,总共有S颗石子,哪一方取了最后一颗石子就输了,问先取石子的这一方是否有必胜策略Input多组用例,每组用例占一行,首先输入两个整数n和S表示一方人数以及总石子数,之后2*n个整数表示1~2*n这2*n个人每个人每次能拿的石子上限,以n=0结束输入Output如果先手有必胜策略则输出1,否则输出0Sampl
V5ZSQ
·
2015-11-01 14:00
三种典型的
博弈论
问题
记得大二的时候还研究过,后来一直放着也没弄过。 不过今天做TC的时候自己分析到了博弈,发现怎么都不记得了。复习一下.......... 以后工作可能要与Java 打交道了,所以 ......还是练练Java实现吧.... 寻找平衡状态(也称必败态, 奇异局势),(满足:任意非平衡态经过一次操作可以变为平衡态)(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定
·
2015-11-01 11:49
问题
UVALive 5059 C - Playing With Stones
博弈论
Sg函数
C - Playing With Stones Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Practice UVALive 5059 Descriptio
·
2015-11-01 09:15
with
Sprague-Grundy Function-SG函数--
博弈论
(3)
^^^转载请注明出处~~~ The Sprague-Grundy theory of impartial games 公平游戏的Sprague-Grundy定理 公平游戏是一种双人游戏,在游戏中双方都有完整的信息,没有牵涉,任何状态的合法操作对双方来说都是相同的。 一个公平游戏可以抽象地用一个有向无环图来表示,这个图中每个点都对应这一个状态,每条有向边代表从一个状态到另一个
·
2015-11-01 08:19
function
博弈论
(2)
甲乙两人面对若干排石子,其中每一排石子的数目可以任意确定。例如图所示的初始局面:共n=3排,其中第一排的石子数a1=7,第二排石子数a2=3,第三排石子数a3=3。两人轮流按下列规则取走一些石子,游戏的规则如下:每一步必须从某一排中取走两枚石子;这两枚石子必须是紧紧挨着的;如果谁无法按规则取子,
·
2015-11-01 08:18
博弈论
重要算法:Sprague-Grundy 定理 (SRM 561 Div1 550)
源起: TopCoder srm561,550 的题目 CirclesGame 是一个博弈的问题,判断是类似于 Nim 的游戏规则,当时不会做,后来看别人代码发现了都有一个名为 sg[] 的数组,不会然后研究了一下,最后搞懂了。然后在这里总结一下,这个算法实际上可以解决一大类的博弈算法问题。 题目简述: A 和 B 玩游戏,在一个平面上有若干个不相交的圆圈(但可以内
·
2015-11-01 08:44
div
博弈论
《《转》》
博弈论
(一):Nim游戏 重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。
·
2015-10-31 19:07
转
囚犯的两难处境
博弈论
:囚犯的两难处境 ****话说有一天,一位富翁在家中被杀,财物被盗。
·
2015-10-31 16:35
博弈论
(一):Nim游戏
Nim游戏是
博弈论
中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解
博弈论
恐怕是最合适不过了。
·
2015-10-31 15:28
游戏
博弈论
(二):Sprague-Grundy函数
转自:http://www.cnblogs.com/Knuth/archive/2009/09/05/1561007.html 上一期的文章里我们仔细研究了Nim游戏,并且了解了找出必胜策略的方法。但如果把Nim的规则略加改变,你还能很快找出必胜策略吗?比如说:有n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……这时看上去问题复杂
·
2015-10-31 13:30
run
上一页
57
58
59
60
61
62
63
64
下一页
按字母分类:
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
其他