自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 HDU 4403 A very hard Aoshu problem(DFS)

HDU 4403 A very hard Aoshu problem(DFS)http://acm.hdu.edu.cn/showproblem.php?pid=4403题意:给你一串数字,你要在该串数字中间的某些位置加一个等号=和一个或多个+号,使得那串数字编成一个等式.问你有多少种方式?分析:本题需要多加回顾.       首先我们可以注意到=号有且只有一个,+号可能有多个或没

2014-05-31 11:10:39 921

原创 POJ 2676 Sudoku(DFS回溯)

POJ2676 Sudoku(DFS回溯)http://poj.org/problem?id=2676题意:给你一个9*9的数独棋盘,但是该数独未填完,你输出完整的数独解.分析:其实本题最快的方法应该是用Donald Knuth提出的舞蹈链.具体可见刘汝佳:训练指南第六章.DFS回溯构造,不过我们按从上到下,从左到右填(1-9)个数字,但是我们怎么知道我们当前填的数是否合法呢?

2014-05-30 21:04:23 1672

原创 POJ 1011 Sticks(DFS回溯剪枝)

POJ 1011 Sticks(DFS回溯剪枝)http://poj.org/problem?id=1011题意:给你N根长度可能不同的小棍子,它们是由M根长棍子切断而成的,M未知.现在要你求出原始棍子的最小合法长度是多少?分析:本题是POJ2362的加强版:http://blog.csdn.net/u013480600/article/details/27581015

2014-05-30 16:12:54 1120

原创 POJ 2362 Square(DFS回溯构造)

POJ2362 Square(DFS回溯构造)http://poj.org/problem?id=2362题意:给你M根长度可能不同的棍子,问你用着M根棍子能否拼成一个正方形.分析:首先将M根棍子的总长sum求出,sum%4必须==0且任意一个棍子的长度       用vis[i]数组表示当前第i根棍子是否被使用了.       然后用dfs来判断能否构成正方形的三边即可.其中

2014-05-29 22:24:47 2308

原创 POJ 1573 Robot Motion(DFS)

POJ 1573 Robot Motion(DFS)http://poj.org/problem?id=1573题意:给你一个R*C的棋盘字母矩阵,该矩阵只由N,S,E,W 4个字母构成,分别表示机器人如果走到当前点将往哪个方向走下一步.然后给了你机器人的入口位置(始终在最上一行的某一列做入口),要你输出机器人在该字符矩阵中的行走状况:几步能走出棋盘或者要进入一个几步的死循环.分析:网

2014-05-29 21:04:01 977

原创 memset用法

memset用法首先如果是一个int a[10]的数组,只可以对它进行两种操作:memset(a,0,sizeof(a))操作可以得到a的全0数组.memset(a,-1,sizeof(a))操作可以得到a的全-1数组.如果要置a为其他置的话就会出现不可预测的值.这个原因很好解释:因为memset操作是对字符进行操作的,且计算机中保存带符号数都是按补码保存的.当我们置a

2014-05-29 20:21:00 887

原创 POJ 1111 Image Perimeters(DFS)

POJ 1111 Image Perimeters(简单DFS)http://poj.org/problem?id=1111题意:(L又是一道题意复杂的简单题)给你一个R*C的仅有字符’.’(表空格)和字符’X’(表物体)构成的棋盘,现在在给你一个坐标(从1计数),要你算出这个与这个坐标点相连的所有’X’构成物体的外表面周长.如上的棋盘,构成了两个X物体,其中下面那个小的外周长为4

2014-05-29 19:53:39 1008

原创 POJ 1088 滑雪(DFS+DP)

POJ1088 滑雪(DFS+简单DP记忆化搜索)http://poj.org/problem?id=1088题意:给你一个R*C的数字矩阵,要你找出矩阵中一条递减的最长路径的长度.即从矩阵的一个点出发,只能走数字递减的上下左右4格中的一格,能走的最长距离(包括起点).分析:       首先我们令len[r][c]表示从(r,c)点出发的最长路径长度.       可以知道如

2014-05-29 18:22:47 1058

原创 POJ 1664 放苹果(DFS)

POJ 1664 放苹果(DFS)http://poj.org/problem?id=1664题意: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。分析:注意到盘子是一样的,方法5 1 1 和1 5 1 只能算一种.所以我们需要给每个盘子放的苹果数定序.       也就是说我们从少往多放,

2014-05-29 17:36:09 1100

原创 POJ 1321 棋盘问题(DFS回溯)

POJ 1321 棋盘问题(DFS回溯)http://poj.org/problem?id=1321题意:要在n*n的不规则棋盘(棋盘上可能有不能放棋子的格子)上放k(k分析:类似于8皇后问题,可以同样的dfs回溯构造.令cnt表示当前我们已经放了几个棋子了,且我们放棋子是从上往下放的(即从行号小的行放到行号大的行).这样我们就保证我们放棋子的时候行号不会重复.接下来用vi

2014-05-29 16:51:48 999

原创 POJ 2034 Anti-prime Sequences(素数预处理+DFS回溯)

POJ 2034 Anti-prime Sequences(素数预处理+DFS回溯)http://poj.org/problem?id=2034题意:给你一个n,n+1,n+2,n+3,…m的数字序列,要你重新安排该序列的顺序,使得任意连续i个(2分析:       首先用筛选法预处理出1000*10以内的所有素数,然后再用dfs回溯构造出字典序最小的合法序列.       其

2014-05-29 12:27:50 1359

原创 HDU 2531 Catch him(BFS:判断是否存在路径)

HDU 2531 Catch him(BFS:判断是否存在路径)http://acm.hdu.edu.cn/showproblem.php?pid=2531题意:给你一个R*C的棋盘,但是现在不是一个格子移动了,而是多个格子组成的一个防守队员平移一个距离,但是这个组合防守队员格不可以转动身体,且身体不能触碰到O格子.最终只要身体能触碰到Q格子就算赢.分析:BFS的精髓在于你设计一个结构

2014-05-29 10:39:53 1463

原创 HDU 1242 Rescue(BFS或BFS+优先队列)

HDU 1242 Rescue(BFS或BFS+优先队列)http://acm.hdu.edu.cn/showproblem.php?pid=1242题意:有个R*C的迷宫,里面有一个a和多个r和多个x,现在你要从这多个r点走到a点去,且如果各自是x,则要花时间消灭守卫,即多花1分钟.问你从任意r点到a的最少时间是多少?分析:       网上题解多说用优先队列,但是对于为什么用优

2014-05-28 21:10:03 1282

原创 HDU 1175 连连看(BFS)

HDU1175 连连看(BFS)http://acm.hdu.edu.cn/showproblem.php?pid=1175Problem Description“连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋

2014-05-28 19:47:38 1348

原创 HDU 1401 Solitaire(棋盘状态BFS)

HDU 1401 Solitaire(棋盘状态BFS)http://acm.hdu.edu.cn/showproblem.php?pid=1401题意:对于一个8*8的棋牌,其中有4个棋子,每个棋子可以往上下左右各走一步,但是如果那一步不是空格而是另外一个棋子,那么就越过这个棋子再前进一步.现在给出了初始棋盘状态,和终结棋盘状态,问你在8步内(分析:本题应该用双向BFS,单BFS容易超

2014-05-28 18:39:10 2046

原创 HDU 1253 胜利大逃亡(简单三维BFS)

HDU 1253 胜利大逃亡(简单三维BFS)http://acm.hdu.edu.cn/showproblem.php?pid=1253题意:有一个A*B*C的三维网格,问你从起点(0,0,0)走到终点(A-1,B-1,C-1)最少需要花多少时间.且网格中有障碍格.分析:三维网格的难点在于想象出一个符合二维BFS要求的图形.如果只有2维,那么就是B*C的二维网格了,很好处

2014-05-28 12:28:54 1300

原创 HDU 1312 Red and Black(简单BFS)

HDU1312 Red and Black(简单BFS)http://acm.hdu.edu.cn/showproblem.php?pid=1312题意:给你一个R*C的网格,网格只有黑格和红格,初始你在一个黑格上,然后你只能走黑格,问你最多能走多少个黑格.(包括起点)分析:直接BFS,算是最基础的BFS了吧.AC代码:#include#include#include

2014-05-28 11:53:35 1118

原创 HDU 1547 Bubble Shooter(BFS)

HDU 1547 Bubble Shooter(BFS)http://acm.hdu.edu.cn/showproblem.php?pid=1547题意:如下图的游戏,R*C的棋盘格局,左上角是第1行1列,其中奇数行可以放C个不同颜色的气球,偶数行可以放C-1个不同颜色的气球.且如果我们新打一个气球到给定位置,>=3个相连的同颜色气球会爆炸,且如果某一块气球没有和最顶端的墙想连也会爆炸.

2014-05-28 10:06:27 1535

原创 HDU 1180 诡异的楼梯(BFS:时间动态图)

HDU 1180 诡异的楼梯(BFS:时间动态图)http://acm.hdu.edu.cn/showproblem.php?pid=1180Problem DescriptionHogwarts正式开学以后,Harry发现在Hogwarts里,某些楼梯并不是静止不动的,相反,他们每隔一分钟就变动一次方向. 比如下面的例子里,一开始楼梯在竖直方向,一分钟以后它移动到了水平方向,

2014-05-27 19:54:55 1389

原创 HDU 2612 Find a way(BFS)

HDU 2612 Find a way(简单BFS)http://acm.hdu.edu.cn/showproblem.php?pid=2612题意:给你一个N*M的迷宫,现在给你A和B的初始坐标,他们要在’@’点集合(迷宫可能有多个’@’点),问你他们集合的最少时间是多少.分析:直接从A和B的初始坐标分别做两次BFS即可,然后对于每个’@’点,算出A和B分别到’@’的距离,相加即可.

2014-05-25 21:58:34 1037

原创 HDU 1430 魔板(BFS+HASH+置换)

HDU 1430 魔板(BFS+HASH+置换)http://acm.hdu.edu.cn/showproblem.php?pid=1430Problem Description在魔方风靡全球之后不久,Rubik先生发明了它的简化版——魔板。魔板由8个同样大小的方块组成,每个方块颜色均不相同,可用数字1-8分别表示。任一时刻魔板的状态可用方块的颜色序列表示:从魔板的左上角开始,按顺时针

2014-05-25 19:52:13 1291

原创 HDU 1495 非常可乐(BFS:3杯倒水)

HDU 1495 非常可乐(BFS:3杯倒水)http://acm.hdu.edu.cn/showproblem.php?pid=1495题意: 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N

2014-05-25 17:37:31 1228

原创 HDU 1072 Nightmare(BFS)

HDU 1072 Nightmare(BFS)http://acm.hdu.edu.cn/showproblem.php?pid=1072题意:有一个N*M的迷宫,你要从起点2走到终点3,且你身上有炸弹,这个炸弹6分钟后爆炸,你在迷宫中每走一步需要1分钟,且迷宫中有重置装置(4格子),可以使得你的炸弹爆炸时间重新变为6.不过不论是你到达终点还是你到达重置装置的地方,你身上的炸弹爆炸时间一定

2014-05-25 14:01:33 1022 1

原创 HDU 1226超级密码(数位BFS)

HDU 1226超级密码(数位BFS)http://acm.hdu.edu.cn/showproblem.php?pid=1226Problem DescriptionIgnatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息:密码是一个C进制的数,并且只能由给定的M个数字构成,同时密码是一个给定十

2014-05-25 12:47:17 1795

原创 HDU 2579 Dating with girls(2)(BFS)

HDU 2579 Dating with girls(2)(BFS)http://acm.hdu.edu.cn/showproblem.php?pid=2579题意:依然是一个R*C的迷宫,要你找从起点到终点的最短距离,但是这里有点小变化,如果是障碍的格子在k倍数的时间点会消失.分析:一般的BFS,直接做即可.需要vis与dist数组.注意在此题中,人不能停留,也就是说如果你在此时

2014-05-22 00:48:09 1098

原创 HDU 1240 Asteroids!(BFS)

HDU1240 Asteroids!(BFS)题意:给你一个n*n*n的三维网格,并且给出初始和终点,要你求最短路径.分析:很简单的三维BFS,直接算即可.注意细节.AC代码:#include#include#includeusing namespace std;const int maxn=15;int dr[]={-1,1,0,0,0,0};//前后左右上下int

2014-05-21 20:40:01 946

原创 HDU 1728 逃离迷宫(BFS)

HDU 1728 逃离迷宫(BFS)http://acm.hdu.edu.cn/showproblem.php?pid=1728题意: Problem Description  给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位置,只能走

2014-05-21 19:57:09 1163

原创 POJ 1465 Multiple(BFS+同余剪枝)

POJ 1465 Multiple(BFS+同余剪枝)http://poj.org/problem?id=1465题意:给你一个属于[0,4999]的数n和多个十进制单数字.现在要求你输出一个m,这个m是n的最小倍数,且仅有我们之前给出的数字构成.分析:       首先我们要知道如果存在由m个数位组成且是n的最小倍数的数,那么这个数一定每一位都是指定的数位.所以我们用BFS从0开

2014-05-21 11:35:36 2175

原创 POJ 2920 Mine Map(BFS)

POJ 2920 Mine Map(BFS)http://poj.org/problem?id=2920题意:有一个n*n(n为奇数)的网格金库,金库中有地雷和空格,你从金库的正中间出发,首先如果你所在的当前格子的8个方向附近有地雷.那么你就不能走了,且标记你的当前格子为’#’.如果8方向没地雷,你就把这8方向的格子都走一遍,且标记着8个格子为’.’ . 按照这个规则走过所有你能走的格子上

2014-05-20 20:20:41 1036

原创 POJ2110 Mountain Walking(BFS/DFS+二分+枚举区间)

POJ2110 Mountain Walking(BFS/DFS+二分+枚举区间)http://poj.org/problem?id=2110题意: 给你一个N*N的网格,并给出网格中每个点的海拔高度,现在要你找出从左上角到右下角那个点的一条路,且这条路所有点中,最高海拔-最低海拔之差最小。输出该最小值。分析:此题与POJ2922基本一致:http://blog.csdn.net/

2014-05-18 00:44:33 1389

原创 POJ 2922 Honeymoon Hike(DFS/BFS+二分+枚举区间)

POJ2922 Honeymoon Hike(DFS/BFS+二分+枚举区间)http://poj.org/problem?id=2922题意:给你一个N*N的网格,并给出网格中每个点的海拔高度,现在要你找出从左上角到右下角那个点的一条路,且这条路所有点中,最高海拔-最低海拔之差最小。输出该最小值。分析:(本题还可以用BFS实现,不过在下一道题目POJ2110用BFS实现本题,这两道题

2014-05-17 21:38:18 1195 2

原创 POJ3221 Diamond Puzzle(BFS:最短路)

POJ3221 Diamond Puzzle(BFS)http://poj.org/problem?id=3221题意:如下的平面魔方,现在给你一个魔方的初态,比如3图,要你算出从3图移动到2图的状态需要多少步。其中每步移动只能交换空格(0那格)与它相邻的格子的内容。分析:首先我们要想好怎么表示一个状态,我们用一个人char s[10]来表示状态,比如2图的状态是0123456.

2014-05-17 19:21:56 1081

原创 POJ 3322 Bloxorz I(BFS:求迷宫最短路径)

POJ 3322 Bloxorz I(BFS:求迷宫最短路径)http://poj.org/problem?id=3322题意:有一个R*C的网格,网格中有3种格子:正常格子,脆弱格子以及空格子.现在给你一个1*2立方体的初始位置,要你求出将该立方体移动到终点所需要的最小步数.分析:其实和一般的BFS求最短路径没本质区别,就是状态设计和移动可能复杂点.       我们令1

2014-05-14 18:11:42 2038 2

原创 POJ 3340 Barbara Bennett'sWild Numbers(数位DP)

POJ 3340 Barbara Bennett'sWild Numbers(数位DP)http://poj.org/problem?id=3340题意:给你两个数一个是W:如36?1?8这样带问号的,一个是X如: 236428正常的数.现在要你求出所有比X数大的且与数W非问号位对应相同的所有数的个数.分析:仔细分析一下我们可以知道.我们只需要从最高位开始比较两个数即可.如果W的当

2014-05-13 19:59:46 990

原创 POJ 2046 Gap(BFS+hash判重)

POJ 2046 Gap(BFS+hash判重)http://poj.org/problem?id=2046题意:4*8的方格有28个数字,按照给定的规则移动,现在要你从初始状态移动到终结状态,问你最少几步.分析:依然是BFS.       首先我们每个状态要用一个32位的char数组s保存32个方格中的每个数字,然后我们用e[4]数组保存32个方格中(有4个0)4个0的位置分别是

2014-05-13 18:59:40 1796

原创 POJ 3346 Treasure of theChimp Island(BFS)

POJ 3346 Treasure of theChimp Island(BFS)http://poj.org/problem?id=3346题意:有一个迷宫,有宝藏,你必须从迷宫边缘进去,迷宫边缘的门有可能让你携带0-9颗炸弹,在迷宫里面有’.’表示空地,你走过空地不需要花任何时间,有’*’表示不可行格子,你就算用炸弹也不能走到这种格子上.还有标记了数字的格子,这种格子如果你消耗一颗炸弹

2014-05-13 15:26:14 1082 1

原创 POJ 1190 生日蛋糕(DFS:优化剪枝)

POJ 1190 生日蛋糕(DFS:优化剪枝)http://poj.org/problem?id=11907月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体。 设从下往上数第i(1 Ri+1且Hi > Hi+1。 由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小。 令Q = Sπ

2014-05-12 21:28:40 1282

原创 POJ 1077 Eight(BFS:输出路径)

POJ 1077 Eight(BFS:输出路径)http://poj.org/problem?id=1077题意:给你一个八数码3*3的网格,要你输出解的路径.分析:参考刘汝佳入门经典P132.       首先对于每个网格状态,我们把它转化为一个9位的十进制数.然后用state[][9]二维数组来保存所有的我们已经发现的状态st,且用state[]来表示当前我们用的栈.

2014-05-12 13:35:41 1363

原创 POJ 1606 Jugs(BFS:找最短路径并输出)

POJ 1606 Jugs(BFS:找最短路径并输出)http://poj.org/problem?id=1606题意:又是给你两个容量为A和B的水杯,要你倒出B杯子有C升水的路径.分析:本题之前我就做过一道基本一样的:http://blog.csdn.net/u013480600/article/details/25241777上面有分析.下面直接给出代码:AC代码:

2014-05-11 21:07:21 2087

原创 POJ 1753 Flip Game(BFS+状态压缩)

POJ 1753 Flip Game(BFS+状态压缩)http://poj.org/problem?id=1753题意:有一个4*4的黑白棋盘,棋盘上的子是两面的,一面黑,一面白.你每次选取一个子把它和它上下左右相邻的4个子都翻转,使得他们从黑变白或从白变黑.问你最少需要操作多少下可以使得所有子颜色统一.分析:      棋盘一共16个位置,所以我们用一个16位二进制数来表示棋盘

2014-05-10 20:32:42 1132

0day安全代码

0day安全的这本书第二版的所有源代码和信息可以来看看

2014-09-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除