04 2008 档案
摘要:游戏1l 有两个游戏者:A和B。l 有21颗石子。l 两人轮流取走石子,每次可取1、2或3颗。l A先取。l 取走最后一颗石子的人获胜,即没有石子可取的人算输。如果剩下1、2或3颗石子,那么接下来取的人就能获胜;如果剩下4颗,那么无论接下来的人怎么取,都会出现前面这种情况,所以接下来取的人一定会输;如果剩下5、6或7颗石子,那么接下来取的人只要使得剩下4颗石子,他就能...
阅读全文
摘要:博弈是信息学和数学试题中常会出现的一种类型,算法灵活多变是其最大特点,而其中有一类试题更是完全无法用常见的博弈树来进行解答。 寻找必败态即为针对此类试题给出一种解题思路。 此类问题一般有如下特点: 1、博弈模型为两人轮流决策的非合作博弈。即两人轮流进行决策,并且两人都使用最优策略来获取胜利。 ...
阅读全文
摘要:上一期的文章里我们仔细研究了Nim游戏,并且了解了找出必胜策略的方法。但如果把Nim的规则略加改变,你还能很快找出必胜策略吗?比如说:有n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……这时看上去问题复杂了很多,但相信你如果掌握了本节的内容,类似的千变万化的问题都是不成问题的。 现在我们来研究一个看上去似乎更为一般的游戏:给定一个有...
阅读全文
摘要:重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解博弈论恐怕是最合适不过了。 Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impartial Com...
阅读全文
摘要:Scanner类是JDK5新添加的一个类,主要作用是处理输入流、文件和文本内容等 。这个类在java.util包里面,实现了Iterator接口,而且io处理采用了jdk1.4才发布的nio。由于这个类实现了Iterator接口,如果全部是string的话,就可以采用next(),hasnext()来进行迭代,就像是迭代一个字符串集合一样。如果处理的内容不是string的话,这个类也提供了next...
阅读全文
摘要:Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点: (1) 最明显的好处是,学会Java,可以参加Java Challenge (2) 对于熟悉C/C++的程序员来说,Java 并不难学,找本书,一两周业余时间就可以搞定了。当然,这里只是指一般编程,想熟悉所有的Java库还是需要些时间的。事实上,Java 只相当于C++的一个改进版,所有...
阅读全文
摘要:用例子阐述: 例题: nPOJ 1503 Integer Inquiry –Description省略 –InputThe input will consist of at most 100 lines of text, each of which contains a single VeryLongInteger. Each VeryLongInteg...
阅读全文

浙公网安备 33010602011771号