上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2255题意: 汉语滴。。。 复习下KM,一段时间不动就是不行代码:#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#define Max(a,b)a>b?a:b#define Min(a,b)a<b?a:b#define inf 10000000#define MAX 302using namespace std;i 阅读全文
posted @ 2012-04-04 22:03 快乐. 阅读(272) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3405给出n个点,求把任意n-1个点连起来的最短路(n<50),开始不想把每个点都去一遍,因为那样就会构造n个最小生成树,怕超时。。。。有好多想法,如求出最小生成树在把书中最大的边去掉,但是这样可能把树分成两个部分,每部分点数都不是1。后来想用kruscal,把边从小到大加n-2条到树中,但是这样可能不会形成一个树。 最后还是把每个点都去一边,生n-1个最小生成树A掉的,对时间复杂度还是不了解啊 导致许多枚举,遍历等不敢做。 prim时间复杂度 O(n2)#include<iostream> 阅读全文
posted @ 2012-03-31 21:24 快乐. 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个点,每两个点之间只有一条有向路线,共 n*(n-1)/2条路径,可以从任意一点出发,问能否每个点走一遍,把所有的点走完本来还以为直接dfs会超时 居然过了,这个。。。代码:#include<iostream>#include<cstdio>#include<cstring>///???#include<string>#include<cmath>#include<math.h>using namespace std;int map[102][102];int road[102];int n,cnt;bool v 阅读全文
posted @ 2012-03-31 21:05 快乐. 阅读(209) 评论(0) 推荐(0) 编辑
摘要: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3751题意:给出一对年月日,计算月是素数并且日是素数的个数;模拟题,自己把自己绕晕了好几次 以后做题要多思考,理清思路代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>using namespace std;bool month(int m){ if(m==2||m==3||m==5||m==7|| 阅读全文
posted @ 2012-03-31 20:55 快乐. 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 青蛙距离,青蛙从一个石头跳到另一个石头,不能掉到水里。给出N个石头的坐标,问青蛙最少跳的距离。开始以始点为源点,找到连该点的最长边。然后再以该点为源点。。。 当终点加入时停止代码:#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<cmath>#define Min(a,b)a<b?a:busing namespace std;float map[202][202],dis[202];float X[202],Y[202], in 阅读全文
posted @ 2012-03-29 22:07 快乐. 阅读(144) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1950题意:就是1~N的数加上符号,是最后结果为0,‘+' , '-' , '.'其中'.'不是乘号 如1.2表示12读完题觉得很一般,但是做的时候被绕进去了代码:#include<iostream>#include<cstring>#include<string>#include<cstdio>using namespace std;char ch[3]={'+','-','.'};int 阅读全文
posted @ 2012-03-25 12:35 快乐. 阅读(163) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2686和传纸条的题一个类型,起点和终点重合,其余都不重合dp[k,x1,y1,x2,y1)=Max(dp[k-1,x1-1,y1,x2-1,y2], dp[k-1,x1-1,y1,x2,y2-1], dp[k-1,x1,y1-1,x2-1,y2], dp[k-1,x1,y1-1,x2,y2-1]+map[x1][y1]+map[x2][y2];因为x1+y1=k,所以压缩成三维 dp[k][i][j]=Max(dp[k-1][i-1][j-1],dp[k-1][i][j],dp[k-1][i-1][j],dp 阅读全文
posted @ 2012-03-24 22:01 快乐. 阅读(236) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1564题意:从(0,0)开始,字母没走过的就可以走,问最多可以经过几个字母一般的dfs,回溯代码:#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<queue>#define Max(a,b)a>b?a:busing namespace std;char map[22][22];bool vs[22][22],v[30];int R,C,ans;int dir[4][2]={ 阅读全文
posted @ 2012-03-20 23:50 快乐. 阅读(164) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1088题意:略了解下记忆化搜索没时间了 先贴个代码,明天详解代码:#include<iostream>#include<cstring>#include<string>#include<cstdio>#define Max(a,b)a>b?a:busing namespace std;int a[102][102],f[102][102];int dir[4][2]={0,-1,-1,0,0,1,1,0};int r,c,ans;int dfs(int x,int y){ int k,X 阅读全文
posted @ 2012-03-11 22:11 快乐. 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 最小路径覆盖,但是涉及位运算。本来想用把串当做字符串处理,构图的时候再写个函数字符串匹配。。。想想也会超时。查了解题报告,才知道用位运算 判断两个二进制数是不是只相差一位,t=b[i]^b[j]; if(t&&(t&(t-1))==0)代码:#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>#define MAX 2005using namespace std;int map[MAX][MA 阅读全文
posted @ 2012-03-10 11:13 快乐. 阅读(137) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页