- 博客(48)
- 资源 (3)
- 收藏
- 关注
原创 已知中序和后序求先序
#include#includeusing namespace std;struct TNode{ char cInfo; TNode * pLeft; TNode * pRight;};#define LEN sizeof(TNode)typedef TNode * pBTNodePoint;void vCreate(string sInOrder,str
2012-09-07 15:27:09
954
转载 博弈 (转)
(一)巴什博弈(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。很容易想到当n%(m+1)<>0时,先取必胜,第一次先拿走n%(m+1),以后每个回合到保持两人拿走的物品总和为m+1即可。这个游戏还可以有一种变相的玩法:两个人轮流报数,每次至少报一个,最多报十个,谁能报到100者胜。 (二)威佐夫博弈(Wythof
2012-04-10 20:29:10
270
原创 hdu 2844 Coins
多重背包!利用二进制优化做!最近在看背包九讲,膜拜Tianyi Cui。#include#include#define MAX(a,b) a>b?a:b#define MAXN 105int dp[MAXN*1000];int val[MAXN],num[MAXN];void ZeroOnePack(int cost,int val,int rest)
2011-12-20 19:50:17
294
原创 hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
01 背包!#include#include#define MAXN 101#define MAX(a,b) a>b?a:bint dp[MAXN];int val[MAXN],weight[MAXN],num[MAXN];int main(){int n,rest,i,j,t,k;while(scanf("%d",&n)==1){w
2011-12-19 20:20:56
1007
原创 hdu 1114 Piggy-Bank
完全背包!#include#include#define MAXN 10001#define MIN(a,b) a>b?b:a#define INF 100000000int dp[MAXN];int val[501],weight[501];int main(){int t,n;int e,f,rest,i,j;while(scanf(
2011-12-15 20:55:01
227
原创 poj 1502 MPI Maelstrom
题意真没看懂。。英语太差,看了DISCUSS才知道是求第一个点到其他顶点的最短路径中的最大值!!因为所有信息是同时发送的#include#include#define MAXN 101#define INF 1int map[MAXN][MAXN];int dis[MAXN],used[MAXN];void input(int n){in
2011-11-23 20:23:46
318
原创 二叉树的遍历
#include#includeint count;struct tree{ struct tree *l; struct tree *r; char data;};tree *build(){ tree *root; char ch; scanf("%c",&ch); if(ch=='.') root=NULL; else {
2011-11-18 10:38:29
302
原创 循环队列实现杨辉三角
#include#include#define SIZE 1000struct queue{ int front; int rear; int count;//队列内有多少个数据 int data[SIZE];};void init(queue *q){ q->front=q->rear=0; q->count=0;}int IsFull
2011-11-18 10:35:47
2117
原创 poj 1146 ID Codes
和1833差不多的题目,比之更加简单!#include#include#includeint cmp(const void *a,const void *b){return *(char *)a-*(char *)b;}void solve(char *a,int n){int mark,index,i,min;char temp;i
2011-11-17 20:22:56
255
原创 poj 1833 排列
思路:1、从右边开始,找到一个满足右边大于自己的数,记为a2、从这个数a开始向右找,找到一个最小的比a打的数,两者交换3、把从a开始向右的所有数用qsort从小到大排个序#include#includeint num[1024];int cmp(const void *a,const void *b){retu
2011-11-17 19:35:08
254
原创 poj 2001 Shortest Prefixes
题意是:寻找每个字符串的最短有效前缀。是最基本的trie树,这是我的第一道字典树,以此题来入门。下面是代码:#include#include#include#define MAXN 26char str[1000][21],result[1000][21];struct node{struct node *next[MAX
2011-11-08 20:34:50
193
原创 poj 2418 Hardwood Species
居然在POJ发现了老师布置的作业,一道二叉查找树,1A!#include#include#includestruct BST{struct BST *l;struct BST *r;char name[50];int count;};int total;void insert(BST *root,char a[]){B
2011-11-05 20:32:56
244
原创 poj 2845 01000001
题意很简单,不过陷阱比较多。。代码写的不是一般的搓,凑活着看吧。。#include#include#define MAXN 86int ans[MAXN];int t;void work(char *a,int len1,char *b,int len2){int i;for(i=len1-1;i>=0;i--){if(len2>=0)
2011-10-27 18:50:09
356
原创 poj 2823 Sliding Window
这题我是用线段树来做的。题意看图就明白了!下面是代码,跑了8000多MS...#include#define MAXN 1000001int MAX(int a,int b){if(a>b)return a;elsereturn b
2011-10-13 19:46:38
229
原创 poj 3264 Balanced Lineup
线段树!憋不住,还是做了一题,不过也做的我够呛。。慢慢爬的孩子伤不起!!!题意就是: 找出给定区间内最大的值和最小的值的差值!Memory: 2412KTime: 1625MSLanguage: C++Result: Accepted#incl
2011-09-17 20:31:35
231
转载 POJ题目分类2
转自:http://blog.myspace.cn/e/401451890.htmPOJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj30
2011-09-11 12:48:21
299
原创 poj 2394 Checking an Alibi
dijkstra~最近一直做类似的题目,有点感觉了~虽然都是水题,不过也蛮高兴的,毕竟目前只是粗粗的预习了下数据结构!这个学期开始教数据结构,要加油了!#include#include#define MAX 501#define INF_MAX 10000
2011-09-08 20:27:51
468
原创 poj 2075 Tangled in Cables
简单的prim,一次就AC了,高兴。Memory: 648KTime: 0MSLanguage: CResult: Accepted#include#include#define INF 1#define MAXN 251double arr[MAX
2011-09-06 21:15:20
255
转载 poj 题目的简单分类(转)
转自:http://www.programfan.com/blog/article.asp?id=216671、 排序1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 237
2011-09-04 10:47:07
382
原创 poj 2777 Count color
线段树~~一个手误让我调了一晚上。。。#include #include#define MAX 1000001int used[31];int ans;struct node{int l,r;int color;}f[MAX*6
2011-09-03 21:51:20
239
原创 poj 1861 Network
Memory: 4124KTime: 110MSLanguage: C++Result: Accepted一开始理解错题意了。。把P当作是最小生成树的总权值,应该是构成最小生成树的点的个数!郁闷,查了老久,就是没往题意上想。。。#include
2011-09-02 20:48:04
227
原创 poj 2395 Out of Hay
Memory: 15864KTime: 141MSLanguage: C++Result: Accepted求最小生成树的最大边~直接prim...#include#define INT_MAX 1000000001const int MA
2011-09-02 19:15:53
319
原创 poj 2377 Bad Cowtractors
Memory: 4104KTime: 63MSLanguage: C++Result: Accepted求最大生成树,直接prim.#include#define INT_MAX -10000000const int MAXN=1001;int arr[
2011-09-02 19:03:53
221
原创 poj 2092 Grandpa is Famous
Memory: 292KTime: 188MSLanguage: C++Result: Accepted题意:找出出现次数第2大的值。。看第二组数据就知道如果出现次数最大的和出现次数最小的一样,就输出全部。。#include#include#defin
2011-08-29 11:02:15
556
原创 poj 3620 Avoid The Lakes
这题就是让我们求最大连通的点数,简单的DFS。不过WA了4把,就因为把矩阵约束了,唉,没想清楚额。Memory: 332KTime: 16MSLanguage: CResult: Accepted#include#include#define MAX 105
2011-08-28 15:12:19
300
原创 poj 3468
#include#define N 100001struct node{int l,r;__int64 sum;//记录各个节点包含区段的值得加和__int64 type;//用来记录插入数字时的增量int getmid(){return (l
2011-08-27 15:42:31
210
原创 poj 2421 Constructing Roads
Memory: 224KTime: 32MSLanguage: C++Result: Accepted#include#define INT_MAX 1000000const int MAXN=110;int arr[MAXN][MAXN],tota
2011-08-26 21:50:51
199
转载 LIS nlogn写法
转自:http://hi.baidu.com/_green_hand_/blog/item/05ac3239879a9922b9998f32.html参考题目:http://poj.org/problem?id=1887#include int a[3
2011-08-23 15:31:10
694
转载 字符串匹配算法:KMP
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。这周的数据结构课讲的是串,本以为老师会讲解KMP算法的,谁知到他直接略过了...没办法只能自己研究,这
2011-08-20 20:34:15
346
原创 poj 2249 Binomial showdown
Memory: 164KTime: 0MSLanguage: CResult: Accepted#include__int64 f(int n,int k){__int64 y=1,i,j;for(i=n-k+1,j=2;i{y*=i;
2011-08-20 18:40:23
266
原创 poj 1331 Multiply
Memory: 208K Time: 0MSLanguage: C Result: Accepted#include#include#include#define max(a,b,c) (a>b?a:b)>c?(a>
2011-08-19 20:59:53
257
原创 NIT 1552
E:生化实验Time limit: 1000MS Memory limit: 32768K Total Submit: 82 Accepted: 45 Description 最近,phd虎在做一项实验,他培养了一种细菌
2011-08-17 19:26:29
260
原创 poj3630
#include#include#includeint cmp(const void *a,const void *b){ return(strcmp((char*)a,(char*)b));}int main(
2011-08-10 23:19:33
423
转载 poj 1731
# include # include void f(char *a,int m,int n)//由于字符串的长度不大,我这里用的是冒泡排序{ int i,j,len; char temp; len=strlen(a);
2011-08-10 13:50:12
323
转载 qsort中cmp函数写法汇总
七种qsort排序方一、对int类型数组排序int num[100];Sample:int cmp ( const void *a , const void *b ){return *(int *)a - *(int *)b;}
2011-08-07 16:43:48
452
原创 poj 3051 Satellite Photographs
题意就是找到最大的连通的‘*’,就是找最多有多少个‘*’连在一起咯。简单的DFS。Source CodeProblem: 3051 Memory: 256K Time: 63MSLanguage: C R
2011-08-05 00:27:21
347
原创 poj 3782 Equal Sum Partitions
Source CodeProblem: 3782 User: H3100402061Memory: 176K Time: 0MSLanguage: C Result: Accepted
2011-08-04 21:08:45
909
原创 poj2403
Hay PointsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 4964 Accepted: 3215DescriptionEa
2011-08-01 19:35:58
502
原创 poj2498
StuPIdTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 5590 Accepted: 2892DescriptionBackgr
2011-07-31 15:53:29
481
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人