
ACM-搜索
文章平均质量分 66
「已注销」
这个作者很懒,什么都没留下…
展开
-
Eight -- A*算法
http://acm.hdu.edu.cn/showproblem.php?pid=1043今天又把八数码拿出来写了一遍,记得上次写这题是暑假集训的时候,那时POJ上能过,但是拿到HDU上交就TLE啊,只能说明POJ上,这题的数据太水了, ~~~ 这次写主要也是为了原创 2011-09-29 21:39:18 · 537 阅读 · 0 评论 -
POJ 1020 Anniversary Cake dfs
http://poj.org/problem?id=1020题意:给定一块size*size 的生日蛋糕,并给出一些人的需要的蛋糕大小,问是否能将蛋糕完全切分给所有人而没有一点浪费。思路:dfs搜索,思路很好。蛋糕的摆放顺序从上至下,每次都寻找所有列中摆放蛋糕最少的一列摆放蛋糕,这样搜索就可以过了。代码:#include#includeint T ,size ,piece ;原创 2012-04-12 11:18:58 · 771 阅读 · 0 评论 -
POJ 1190 生日蛋糕 搜索dfs
http://poj.org/problem?id=1190经典的搜索, 题目因为比较复杂就不形容了,这里说下剪枝的技巧:剪枝1 :在第i层的时,若i+1 -- n 层取最小, 总体积大于N ,则剪枝 ;剪枝2 :在第i层的时,若i+1 -- n 层取最小, 总表面积大于ans ,则剪枝 ;剪枝3 : 因为前i层的体积为sumv,那么剩余的m-i层的体积满足:n-sumv=(h[原创 2012-04-05 22:30:26 · 834 阅读 · 0 评论 -
USACO 八皇后问题扩展
http://ace.delos.com/usacoprob2?a=lPFJMyj6B9f&S=checker本题的N的范围为:6left = left right = right >> 1;mid = mid ;以下是参考代码:/*TASK : checkerID : chrisLANG: C++*/#include#includeint N;int原创 2012-01-26 23:25:47 · 715 阅读 · 0 评论 -
HDU 1175 连连看
http://acm.hdu.edu.cn/showproblem.php?pid=1175一个连连看的题目,DFS+剪枝。代码:/*HDU 1175 连连看Tips : 搜索+剪枝*/#include#includeint n,m,q,tr,tc,sr,sc;int map[1005][1005] ;int vis[1005][1005] ,visn;int dr[原创 2011-11-21 23:28:38 · 650 阅读 · 0 评论 -
ZOJ Magic Cube 2477
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2477最大深度只有5层, 用IDA* 算法, 这题的亮点就是用数组来预处理模方的每种旋转,节约时间和代码量 。h函数的选择: 因为无论怎么旋转,每块魔方的中间位置的颜色是不会变的,因此可以用总共不在原来面上的方块数来作为h函数。 每次旋转,最多能使12块魔方回到原来的原创 2011-10-26 17:37:55 · 1340 阅读 · 0 评论 -
HDU Puzzle 3278
http://acm.hdu.edu.cn/showproblem.php?pid=3278题意很简单, 给一个4X6的矩形,其中又white ,blank , grey 三种颜色各有8个格子 ,给定一个初始状态,求用最少的操作次数将图形变化为中间的8个格子颜色相同。分析:一开始想到了IDA* , 但是这题IDA* 是不行的, 原因我也不知道是为什么。 因为用三种颜色,在状态压缩的时候3^原创 2011-10-25 21:24:07 · 794 阅读 · 0 评论 -
HDU Tobo or not Tobo IDA*
http://acm.hdu.edu.cn/showproblem.php?pid=1813题意: 给一个3x3的矩阵,问是否能在规定的步数之内还原回原来的样子,若能输出最少的步数,若不能输出-1.算法: IDA*。相对于A*算法来说,IDA*的空间需求少是其的优势。 IDA*的关键就是要选好h()函数,本题用曼哈顿距离作为其h函数的值。代码:/*HDU 2918原创 2011-10-22 21:58:16 · 598 阅读 · 0 评论 -
ZOJ_Requirements
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2688题意:给定N(N 分析:由二维的曼哈顿距离可知:dis(p1,p2) = abs(x1-x2) + abs(y1-y2) ;则dis(p1,p2) = max{(x1+y1) - (x2+y2) , (x1-y1) - (x2-y2) , (-x1+y1)原创 2011-10-21 12:14:26 · 530 阅读 · 0 评论 -
HDU Eight (2) A* IDA*都是浮云啊。。
http://acm.hdu.edu.cn/showproblem.php?pid=1043一个事关人生完不完整得题目,自然就要反复多写几遍才能体会其中的精华咯,哈哈。今天又看到了一个用单广的写法,于是乎觉得很好,就自己又写了一遍,没想到109ms。。 Orz。。 连自己都不敢相信哈!! 神马A*、IDA*,都是浮云啊。 这里简单说思路吧: 从终点开始,预处理出终点能到达的状态(这里终点能原创 2011-10-21 17:58:29 · 830 阅读 · 0 评论 -
USACO 4.1 Cryptcowgraphy dfs+剪枝
http://ace.delos.com/usacoprob2?a=2SgXjKYaF1c&S=cryptcow一道bt的剪枝题,做了一下午,最后还是看了别人的解题报告过的,才菜了。。 。剪枝1:C,O,W出现的次数要相同,除了C,O,W之外的其他字符串的个数和类型和目标串相同。剪枝2:通过ELFHash对串进行判重.( HASHSIZE可以大点)剪枝3:对于任意串, 任意相邻的'原创 2012-04-26 16:33:21 · 739 阅读 · 0 评论