ACM
文章平均质量分 74
gucheng789
08年就读于衡阳某高校计算机系
展开
-
POJ 2513Colored Sticks 并查集,字典树
本题综合性很强,用并查集是必须要用路劲压缩查找,其实可以用DFS来判断图的联通性,但肯定没并查集的效率高。字典树我用的是全局变量申请,但要开足够大的空间,开500000RUN ERROR一次,结果开500000*10就A的,而且时间只有 600MS ,字典树也可以动态创建,但时间肯定要多花的,时间空间自己去取舍吧.. #include using namespace std;原创 2011-12-15 08:13:05 · 374 阅读 · 0 评论 -
动态规划解决航线设置问题
#include using namespace std;int main(){ /*海滨城市两边分布着N个城市,两边城市唯一对应自己的友好城市,并且只有友好城市才可以设置航线。 要求航线不可以相交,求可以设置的最多航线数。 例如:A: 1 2原创 2011-08-14 20:21:06 · 1808 阅读 · 0 评论 -
动态规划解游船费用问题
#include using namespace std;#define INTMAX 0x7FFFFFFFint min(int a, int b){ return (a<b) ? a : b;}int main(){ /*原创 2011-08-14 20:26:08 · 953 阅读 · 0 评论 -
POJ1416 切割纸条(DFS+剪枝)
这题目个人感觉有点难,很难抽象出具体的搜索模型,看了别人的解题报告才有思路。切割一个数据即切割纸条,相加的和最接近给出目标的值。比如,12346是数据,target的值是50,应该把数字切成四部分,分别是1、2、34、6。因为这样所得到的和43 (= 1 + 2 + 34 + 6) 是所有可能中最接近而不超过50的。碎纸还有以下三个要求:1、如果target的值等于纸条上的值,则不原创 2013-12-05 18:54:45 · 654 阅读 · 0 评论 -
动态规划解复制书本问题
#include using namespace std;#define max(a, b) a>b?a:b#define min(a, b) a>b?b:a#define INTMAX 0x7FFFFFFFint main(){原创 2011-08-15 18:25:03 · 808 阅读 · 0 评论 -
动态规划解循环石子堆合并问题
#include using namespace std;#define N 101int main(){ freopen("in.txt", "r", stdin); int n; int f[N][N]; // f[i][原创 2011-08-25 16:45:00 · 837 阅读 · 0 评论 -
POJ3009 Curling 2.0(DFS+剪枝)
#include using namespace std;#define N 40bool maze[N][N];int dx[4] = {-1, 0, 1, 0};int dy[4] = {0, 1, 0, -1};int step = 0, minstep = 100, W, H;struct point{ int pi, pj;};原创 2011-11-30 20:14:06 · 749 阅读 · 0 评论 -
POJ2251 3D地图(BFS)
3D地图问题,从一个点到另一个点,求最小路径, 抽象出地图,搞三维数组就行,广度优先搜索 244K 16MS C++ 3272B 2013-11-29 11:27:06 // 使用stl 612K 0MS C++ 3585B 2013-11-29 11:55:49 // 利用数组模拟队列代码1: // 使用stl#include#include#inc原创 2013-11-29 12:05:06 · 583 阅读 · 0 评论 -
POJ1321 摆放棋子(DFS)
问题描述:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。 要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘, 摆放k个棋子的所有可行的摆放方案C。 一个n*n的矩阵内描述棋盘。 n 方法: 看了网上的解题报告后,感觉有点抽像,基本上都是采用 逐行搜索,代码很短但是写起来和理解起来有点抽象原创 2013-11-28 17:08:30 · 528 阅读 · 0 评论 -
POJ2528 海报问题(线段树+离散化)
有一两年没有搞了,有点生疏,这道题目是线段树的,以前在学校搞过,搞这道题目第二天才搞出来,而且参考了另外的解题报告。#include#include#include#include #include #include #include using namespace std;#include #include //#include "mysys.h"//#include原创 2013-11-27 16:14:48 · 603 阅读 · 0 评论 -
POJ2488 骑士游历(DFS)
题目意思是在一个国际棋盘里,判断马能否不重复的走过所有格,并记录下其中按字典序排列的第一种路径。DFS方法解决,由于是字典顺序,所以搜索方向要严格规定本题错了几次,原因是memset没有使用正确,此函数的第三个参数是按字节的单位,所以数组长度还要乘以sizeof(type)160K 63MS C++ 3332B 2013-11-28 10:29:22下图是搜索的顺序:原创 2013-11-28 10:55:56 · 753 阅读 · 0 评论