搜索与枚举
文章平均质量分 79
yuhailin060
这个作者很懒,什么都没留下…
展开
-
pku 1166[回溯]
题目连接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1166题目大意:给定一个3*3的矩阵,然后给定9中操作,依据操作把3*3的矩阵的所有数全度归0.求出操作序列最短的种。初看此题没什么太大的想法,那么久把此题归并成了搜索,很久以前写过八皇后的递归形式,然后仔细分析了一下题目的意思,这里也可以按照操作的数进行递归求解。。#include原创 2009-11-22 09:26:00 · 576 阅读 · 0 评论 -
搜索专练
哎。。要开始搜索和DP专练才行了,发现自己的状态设计题,好弱。。。。http://162.105.81.212/JudgeOnline/problem?id=1475双重bfs,比较水的题,一次bfs是最短的步数里面找到目标点,一个bfs判断该人能不能到改箱子的后面,这样才能往前面推一步,hash为推完箱子后人所在的位置和箱子所在的位置的状态,hash[][][][]判重,不过wa了很多次原创 2010-04-23 14:07:00 · 720 阅读 · 0 评论 -
HDU 3085
http://acm.hdu.edu.cn/showproblem.php?pid=3085题意:简单英文。。不在累赘。。。一点值得注意的,鬼魅先走,mm与gg后走,直接模拟这个这个场景,突出时间的先后性,一秒与一秒的区别。。。这样模拟很难出错。。。。不知道怎么写。。呵呵 居然跑到HDU的第一去了。。。呵呵。。代码:#includeconst int N = 801 ;原创 2010-04-09 21:02:00 · 1016 阅读 · 0 评论 -
HDU 3004 the chess
http://acm.hdu.edu.cn/showproblem.php?pid=3004这是一道象棋题假设你有JU MA PAO的前提下,对方的棋局不能动,你只能用这个三颗棋子,在最短的时间楼内杀死对方的帅,和1732 差不多,8维hash判重。。。。对于JU 和pao 可以确定一个方向搜到底。。只不多 这里很BT的是要考虑蹩脚MA啊。。。代码:#include#include原创 2010-04-13 22:48:00 · 848 阅读 · 2 评论 -
HDU1429 胜利大逃亡(续)
http://acm.hdu.edu.cn/showproblem.php?pid=1429学习位压缩很好的一道题,因为只有10把钥匙,那么可以把10钥匙压缩二进制,比如1000就表示身上只要第4把钥匙的状态,110表示带有第2把和第3把钥匙,那么要判断当前的钥匙串有没有能打开当前门钥匙,那么就只要一个&运算就可以,因为11101110&00100000==00100000 这样就说明那一把钥原创 2010-04-13 22:35:00 · 2953 阅读 · 1 评论 -
HDU 2128 Tempter of the Bone II
http://acm.hdu.edu.cn/showproblem.php?pid=2128题意:简洁。。不在累述了。。设计状态:hash[x][y][bomb]到每一个点剩下多少bomb,然后保存每一张图,对于图这里可以用位压缩保存,因为矩阵最大也就是8*8,刚好是2^64方,可以用__int64保存,但是要注意的是每个炸弹或者墙被炸掉后就成了空地。所以保存只是保存走过的墙和炸弹,还有一原创 2010-04-13 21:33:00 · 1237 阅读 · 5 评论 -
HDU 1728 逃离迷宫
http://acm.hdu.edu.cn/showproblem.php?pid=1728BFS+DP,每个状态,表示从起点到这个点要转的最少弯数,遍历一遍所有节点就可以了,按道理讲遍历T步就可以了,不知道为什么这里我遍历T不就离奇的wa。。遍历完就AC 。。。代码:#include#includeusing namespace std ;char map[110][1原创 2010-04-13 22:30:00 · 1939 阅读 · 3 评论 -
HDU 1732 push Box
http://acm.hdu.edu.cn/showproblem.php?pid=1732这是HDU1254的加强版,但是这里和那里的区别再去 这里是以人的意志为转移,那么设计状态的就要考虑人是主体了。。8维hash。。AC。。BFS 。。。这里hash的是不要开成int的,不然会MLE。。。记住,,开hash的时候一般不要int,开bool的或者char这空间会减少四倍。。代码:#原创 2010-04-13 22:11:00 · 1139 阅读 · 0 评论 -
HDU 1254 推箱子
http://acm.hdu.edu.cn/showproblem.php?pid=1254中文题;这里要注意的有一点:求的是箱子要推动多少格才能到目标点,不要以人为基点求多少步,所以这里设计状态的时候要以箱子为主体,箱子每移动一格,这样状态的改变,而不是以为基点去搜状态了,这样设计状态的话,会wa。。。那么箱子怎么移动,人在箱子后面的一个格子里推,首先人在什么地方不是重要的,只要当前人所原创 2010-04-13 21:59:00 · 986 阅读 · 0 评论 -
PKU 2452
http://acm.pku.edu.cn/JudgeOnline/problem?id=2452题意很简单,这里就不在阐述了。枚举每一个起点,然后找出符合条件的j的最大值,线性扫描即可;不过有一个地方一直没明白,代码里有指出,大牛路过帮忙看下,表示感谢。。。代码:#includeconst int N = 50010 ;int n , a[N] ; int原创 2010-03-23 21:54:00 · 658 阅读 · 0 评论 -
HDU 1689
http://acm.hdu.edu.cn/showproblem.php?pid=1689 题意,一个无向图,求该无向图中不小于3节点的最小奇数环。算法:BFS,假设每个节点在一个最小环上,枚举每个节点,以该节点为根节点,遍历这个图,突出其层次度,记录每个接待你第一次遍历到的深度,到再次遍历到该节点时,这个节点已是该棵树上的结点,那么用当前的深度+第一次遍历结点的深度就是换的节点数。原创 2010-03-23 22:01:00 · 798 阅读 · 0 评论 -
PKU 2329
牛人估计都是DP过去的,我DP不会,爆搜过去的,只能怪这题的时间限制太不科学了。。。3032MS 才AC。。。广搜。。。以(i,j)为原点向四周搜在同样的步数内能同时到达的点,第一次找到后就直接跳出出来。。。代码: #includeusing namespace std;const int N = 205 ;int map[N][N],sign[N][N],q[N原创 2010-01-05 17:35:00 · 380 阅读 · 0 评论 -
pku 1178[枚举+floyd]
题目连接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1178题目大意:有1个国王和n-1个将军安排在8*8棋盘的每个不同的位置上,要使得他们聚在一个格子中,所需要的最少步数;在移动的过程中国王和将军遇到了话,那么国王就可以由将军背着一起走;算法:枚举+floyd;首先用floyd(或BFS)求出任意两点之间走马步的最短距离;在枚举所有将军的汇原创 2009-11-25 09:10:00 · 397 阅读 · 0 评论 -
pku 1167[枚举+回溯]
题目连接: http://acm.pku.edu.cn/JudgeOnline/problem?id=1167题目大意:一男子于12:00来到一个公交车站,他记录下了12:00-12:59所有公交车的到站情况。现在我们假设: 1) 同一条线路的公交车到站是有规律的,也就是每隔一个固定时间就会有一辆车到站。 2) 公交车的到站是以分钟为最小计量单位的。 3) 每一条原创 2009-11-22 09:41:00 · 464 阅读 · 0 评论 -
PKU 3286
<br />最近变懒了。。。很不想写解题报告。。不想写博客。。。<br />今天又做了一道以前做过类似的枚举题的,可惜忘记了,不会推了,推了大半天,还看下以前的代码。。表示很戳。。。很弱。。。<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=3286<br />题意给定区间,求出区间(n,m)里面0 的个数。。。<br />想法:分别算出<=n g(n),<=m g(m)的个数 , 然后枚举n里面0的个数,答案就是g(m) - g(n) +n里面0的个数。原创 2010-07-22 00:59:00 · 470 阅读 · 0 评论