摘要: 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) 编辑