- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 poj 2255 Tree Recovery
这个题目用来练习数据结构很不错,给出树的先序遍历,中序遍历,然后求出后序遍历。思路很简单:根据先序,中序,建树。然后后序访问此树。使用递归。#include#include#includeusing namespace std;typedef struct Node{ char t; struct Node *lch,*rch;};//建树 Node* create(const string& p
2009-02-23 11:52:00 1061 3
原创 poj 1740 A New Stone Game( 博弈)
有N堆石子,每次可以从任意堆拿出任意个,然后可以从拿出的任意个中间选出一些放到其他任意堆中间。这个题目的关键:是否能找到成对的堆。如果所以堆都成对,那么先手输,如果不成对,先手赢,先手可以通过一次性把所有的堆变成对。代码如下:Source CodeProblem: 1740 User: Cathy11Memory: 172K Time: 0M
2009-02-20 16:13:00 696
原创 Poj 1067 取石子游戏 (博弈)
取石子问题。具体不会,看别人的解题报告。(具体不怎么懂,先帖到这里)问题分析:威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 这种情况下是颇为复杂的。我们用(ak,bk)(ak ≤ bk ,k=0,1,2,...,n)表示两堆物品的数量并称其为局势,如果甲面对(0,0),那
2009-02-20 16:09:00 2345
原创 poj 2234 Matches Game (博弈)
有N堆火柴,每次可以从任意堆拿出任意数量的火柴,谁拿走最后的谁就win,我没有办法证明算法的正确性,用异或可以解决此类问题。 Source CodeProblem: 2234 User: Cathy11Memory: 172K Time: 0MSLanguage: C++ Result: Accepted
2009-02-20 16:06:00 864
转载 无穷下降法·数的按位异或与随机博弈
无穷下降法是著名的业余数学家费马提出的,也正是因为这个方法他才敢在书页边上声称自己已经找到了一个巧妙的方法证明费马猜想(x^n+y^n=z^n在n>2时没有正整数解,x^y表示x的y次方)。意外的是这个方法并没有想象中的那样神奇,它仅仅可以证明对于某些特殊的n才能成立(譬如说4),思路是:假设存在一组解(x0,y0,z0),那么由这一组解可以得到一组新的解(x1,y1,z1),并且满足z0>
2009-02-20 10:11:00 1119
原创 pku 3278 Catch That Cow---BFS
poj 3278(bfs)题目很简单,bfs直接可以解决掉,注意截枝:有些位置前面已经出现了,后面就不用重复了。设了一个tag[]帮助解决这个问题。#include#include#include#include #define Len 100005using namespace std;struct Node{ int x; int step;};bool tag[Len];int
2009-02-18 13:28:00 536
原创 并查集
并查集:(union-find sets)是一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,其中最完美的应用是实现Kruskar算法求最小生成树。其实,这一部分《算法导论》讲的很精炼(第21章:用于不相交的集合)。并查集是一种可以方便地进行以下三种操作的数据结构:合并两个集合;将一元素并入另一集体;判断两个元素是否属于同一个集合。
2009-02-18 12:19:00 371
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人