自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

转载 【学习报告】简单搜索

简单搜索根据《ACM主要算法》这一篇博客,简单搜索一节又分3小节,分别是深度优先搜索、广度优先搜索(又称宽度优先搜索)以及简单搜索技巧和剪枝。完成了该内容的一些具有代表性的题目后,在师兄的建议下,自己算写下学习心得,以便日后复习时候可以用上。1.深度优先搜索深度优先搜索(DFS,Depth-First Search)是搜索的手段之一。在学习深搜之前,要先了解递归函数与栈的思想...

2019-10-07 11:12:00 309

转载 【POJ2676】Sudoku

本题传送门本题知识点:深度优先搜索 + 回溯问题就是要让我们解决一个数独问题。如果你懂得怎么玩数独的话,那就很自然想到用暴力搜索去做题。(比如我就不会,所以先WA了一发quq)数独符合三个条件同行里只有 1 ~ 9 这9个数字同列里只有 1 ~ 9 这9个数字在这9x9的方阵里有9个3x3的小方阵,每个小方阵里的9个数也只能是 1 ~ 9注意,这每行每列每小方阵的9个数...

2019-09-28 16:19:00 241

转载 【POJ1416】Shredding Company

本题传送门本题知识点:深度优先搜索 + 回溯本题题意很简单,就是有一条位数不超过6的数字纸条,问你怎么剪这纸条,使得得到的纸条的值的总和最接近目标值(总和不能超过目标值)。比如第一个样例50 1234612346可以剪成1 2 3 4 6(总和16);12 34 6(总和52)等,其中最接近且不大于目标值的就是剪成1 2 34 6,总和是43,所以输出43 1 2 34 6...

2019-09-28 11:30:00 213

转载 【POJ3414】Pots

本题传送门本题知识点:宽度优先搜素 + 字符串题意很简单,如何把用两个杯子,装够到第三个杯子的水。操作有六种,这样就可以当作是bfs的搜索方向了// FILL(1) 把第一个杯子装满// FILL(2) 把第二个杯子装满// POUR(1,2) 把第一个杯子的水倒进第二个杯子// POUR(2,1) 把第二个杯子的水倒进第一个杯子// DROP(1) 把第一个杯子的水都倒...

2019-09-24 00:30:00 161

转载 【POJ3087】Shuffle'm Up

本题传送门本题知识点:宽度优先搜索 模拟 + map本题题意有点懵。就是单纯的把S1像例子那样插到S2里,根本不是什么宽搜题,因为只是一个方向就可以了。说是搜索题倒是有点意思,因为要查重。不过cin还是慢啊,一个cin就把我卡tle了。所以最后这就是简单的模拟题,加上一个map(竟然不超时!)。数据很小。#include<iostream>#include&lt...

2019-09-22 18:41:00 113

转载 【POJ3126】Prime Path

本题传送门本题知识点:宽度优先搜索题意很简单。要找一个质数变到另一个质数的最少步数,两个质数都是4位数,变的时候只能变其中一位,变了的数也仍是质数。思路也很简单,对每一位数进行修改,如果修改后的数仍是质数则入队。要注意的是千位数不能是0。数据很小。#include<iostream>#include<cstdio>#include<cstri...

2019-09-21 10:13:00 157

转载 【POJ1426】Find The Multiple

本题传送门本题知识点:深度优先搜索 | 宽度优先搜索题意很简单,让我们找一个只有1和0组成的十位数是n的倍数的数。这题一开始吓到我了——因为Output里说输出的长度最长不超过100位???那是不是要用字符串了?不过貌似在[1, 200]里,他们的倍数好像都在18位内,即用unsigned long long就可以解决。(BUG?)若想学习输出100位的可以看看这篇博客数据很小...

2019-09-21 09:42:00 142

转载 【POJ3278】Catch That Cow

本题传送门本题知识点:宽度优先搜索题意很简单,我们把FJ与奶牛看作是在一条数轴上的点,奶牛固定在K点,FJ的移动有三种,分别是向前一格,向后一格以及跳到当前格的两倍去。问FJ花费最少的时间到达奶牛的点。这题当意识到他们在数轴上时,结合bfs的思想就很快可以解决了。数据很小。// POJ 3278#include<iostream>#include<cstd...

2019-09-20 12:26:00 164

转载 【POJ1321】棋盘问题

本题传动门本题知识点:深度优先搜索 + 枚举 + 回溯题意是要求我们把棋子放在棋盘的'#'上,但不能把两枚棋子放在同一列或者同一行上,问摆好这k枚棋子有多少种情况。我们可以一行一行地找,当在某一行上找到一个可放入的'#'后,就开始找下一行的'#',如果下一行没有,就再从下一行找。这样记录哪个'#'已放棋子就更简单了,只需要记录一列上就可以了。数据很小。#include<i...

2019-09-20 10:10:00 96

转载 【POJ3083】Children of the Candy Corn

本题传送门本题知识点:深度优先搜索 + 宽度优先搜索本题题意是求三个路径长度,第一个是一直往左手边走的距离,第二个是一直往右手边走的距离,第三个是最短距离。第三个很好办,就是一个简单的bfs的模板,问题出在第一二个。但第一二个只是方向的丝丝不同,所以会其中一个也就解决了。读懂题意后很简单,问题是怎么简单高效地实现。推荐这篇博客一些感慨:该题做了我差不多4个小时吧,前前后后d...

2019-09-20 09:49:00 215

转载 【POJ2251】Dungeon Master

本题传送门本题知识点:宽度优先搜索题意简单。在一个L层高的楼里,去走迷宫,就是问从S走到E的最短路径。每走一格每上或者下一层都算1步。一开始以为这个“立体迷宫”有点吓到我(题做得太少了),后来发觉,只是一个三维数组以及多了两个操作方向(原地向上或者原地向下),除此之外就是简单的bfs模板题了。数据很小。// POJ 2251#include<iostream>#...

2019-09-19 23:02:00 162

转载 【POJ2488】A Knight's Journey

题目传送门本题知识点:深度优先搜索 + 回溯 + 剪枝 + 字典序题意是给你一个由 p,q 组成一个矩形的棋盘,让你用马棋在这上面走,是否能一线走完这 p * q 个格子。关于这条路线是怎么走的,自己动手在纸上模拟一下样例3棋子行走的过程就可以了。所以这种一线走完的题意可以很清楚地想到是深搜。我第一次写的时候是没有回溯的,没有回溯的话,就会走回路,提交了一遍WA了,所以这里是不...

2019-09-17 22:56:00 124

转载 【POJ2993】Emag eht htiw Em Pleh

题目传送门本题知识点:模拟(如果对国际象棋不熟悉的同学可以先百度一下)本题跟POJ2996是逆过来的操作,如果做过【POJ2996】的同学就不会对题意不理解的了。(以下默认您已AC【POJ2996】)个人觉得该题比【POJ2996】要麻烦一点,因为要创建一个棋盘(其实也不是什么麻烦事)创好棋盘后,再把棋子一个个地放回去就可以了,这步操作跟【POJ2996】有异曲同工之妙数据很...

2019-09-17 16:51:00 315

转载 【POJ2996】Help Me with the Game

题目传送门本题知识点:模拟(如果对国际象棋不熟悉的同学可以先百度一下)题意很简单,就是让我们找出白棋跟黑棋每枚棋子的位置,并要按照一定的顺序输出( K -> Q -> R -> B -> N -> P ),清楚这一目的的话,实现只是时间上的问题了。感觉该题可以用C语言里的枚举变量,但因为很少用,所以就懒得去琢磨了(好学的同学不要学我啊!),改用了比较麻...

2019-09-17 15:38:00 162

转载 【POJ1573】Robot Motion

题目传送门本题知识点:模拟本题的题意也很简单。给出一个矩阵,矩阵里面有着东南西北(上下左右)的指示,当机器人走到上面时则会按照指示前进。机器人每次都从最上面一行的某一列进入。需要判断的是机器人走出了矩阵或者是在矩阵里循环走不出去,样例一与样例二则很好地诠释了这两种状况。输出也是根据这两种情况分情况输出,我是按照是否有循环的思路去输出的,感觉这种简单模拟是很有多种做法的,至于自己...

2019-09-17 14:44:00 130

转载 【POJ2632】Crashing Robots

题目传送门本题知识点:模拟模拟机器人的运作过程,分别有三种功能,L 则是左转90°,R 则是右转90°,L 则是前进1格。让我们去模拟并判断它们的状态。输入:第一行是测试样例第二行分别是矩形的长、宽(比如,5 4)// 题目是讲得很清楚的// 4// 3// 2// 1// 1 2 3 4 5 第三行分别是机器人的个数以及指令条数接下来是先输入每个机器人的初...

2019-09-17 00:45:00 245

转载 【POJ1068】Parencodings

题目传送门本题知识点:模拟这是一道恐怖的括号题。题意稍微理解以下还是可以的。我们针对样例来理解一下 S、P、W 到底是什么意思:S:( ( ( ( ) ( ) ( ) ) ) )P:\(P_1\) 为 4 :是因为在第一个 ) (数组第4位)前面有4个 (\(P_2\) 为 5 :是因为在第二个 ) (数组第6位)前面有5个 (\(P_3\) 为 6 :是因为在第三个 )...

2019-09-16 22:20:00 171

转载 【POJ2965】The Pilots Brothers' refrigerator

题目传送门本题知识点:深度优先搜索 + 暴力枚举 + 回溯 + 栈如果对以上知识点还不熟悉的同学建议先做做 POJ1753 (本题是1753的提高版)(附 POJ1753博客)以下默认您已ACPOJ1753相信AC了Flip Game 这题的你,一看到这题就很自然地想到套 Filp Game 的模板。没错,其实几乎是一模一样的。只是存储数据有了一些不同而已。熟悉栈的话你也很自然想...

2019-09-16 20:14:00 124

转载 【POJ1753】Flip Game

题目传送门本题知识点:深度优先搜索 + 暴力枚举 + 回溯本题题意比较简单,要求把棋盘的棋子翻成同一颜色的,如果可以就输出最少步数,否则“Impossible”。样例4步最快的就是把棋子都翻成white('w'),此时我犯了一个严重的错误。在草稿纸上我的四步是这样走的:第一步:翻 (1,1)第二步:翻 (1,3)第三步:翻 (2,2)第四步:翻 (2,4)// 1 ...

2019-09-16 12:30:00 186

转载 【cf补题记录】A. Hotelier

思考之后再看题解,是与别人灵魂之间的沟通与碰撞A. Hotelier题意 给出长度为n的字符串,字符串由'L'、'R'以及数字0~9组成。旅馆有10间房子,L代表客人从左边入住,R代表客人从右边入住,数字则表示第i间房子客人退房了。问经过这n次操作后,现在的旅店入住情况。分析 n的范围比较小,完全可以暴力模拟实现。'L'就从左往右遍历看有没有空的房子,'R‘就从右往左遍历有没有空...

2019-08-17 08:23:00 207

转载 【cf比赛练习记录】Codeforces Round #579 (Div. 3)

思考之后再看题解,是与别人灵魂之间的沟通与碰撞A. Circle of Students题意 给出n个数,问它们向左或者向右是否都能成一个环。比如样例5是从1开始向左绕了一圈 [3, 2, 1, 5, 4] 变成 [1, 2, 3, 4, 5];思路 我的方法是差分,假如成立,相邻两个数的差的绝对值要么是1要么是n-1。#include<iostream>#inc...

2019-08-14 10:50:00 233

转载 【洛谷】普及区_树形数据结构(不全)

简单说说二叉树。如图:二叉树的每个树节点都有两个子节点(通俗称作父子关系);节点A,他是B和C两个节点的爸爸,D节点可以说是他的孙子;节点B,没有儿子;节点C,只有一个左儿子D;节点D,没有儿子。聪明的你肯定发现:左儿子的序号等于父亲序号的2倍,右儿子的序号等于父亲序号的2倍+1;因此可以利用递归遍历整棵二叉树。P1087 FBI树...

2019-05-18 16:42:00 244

转载 【洛谷】P1449 后缀表达式

P1449 后缀表达式分析:简单的模拟题。熟练容器stack的话很容易解决。stack,栈,有先进后出的特性。比如你有一个箱子,你每放进第一个数时,就往箱底放,放第二个数时就在第一个数的上面放,而这两个数取出时,先取出第二个数,才能取出第一个数。详细请看代码 1 #include<iostream> 2 #include&lt...

2019-05-13 20:17:00 479

转载 【洛谷】训练场_递推与递归二分场(不全)

P1192 台阶问题分析:与P1255数楼梯题意一样,只不过数据不一样,数楼梯一题是涉及高精度与字符串处理。如果数据不大,且每次最多只能迈2级阶梯的话,本题则是斐波那契数列的裸题。1阶:12阶:23阶:1阶+2阶(1阶时迈2步,2阶时迈1步)以次类推;这题写多了几个K后,我发现了一个新的规律:当K=4时;0阶:01阶:1(0阶+1)...

2019-05-12 21:55:00 278

转载 【洛谷】训练场_简单数学篇(不全)

P1865 A%B Problem题意:求区间质数的个数。分析:简单的质数打表模板题,根据题目再添加一点限制条件即可AC。因为m最大才1e6,所以打表是可以的。简单说说打表的思路:(埃式筛法)从最小的质数2开始,将表中所有2的倍数都划去,然后再到质数3,将表中所有3的倍数都划去......以此类推。0,1先特殊处理一下。 1 // 参考《...

2019-05-11 17:09:00 145

转载 【洛谷】训练场_字符串处理

P1071潜伏者题意:输入共三行,每行为一个长度在1到100之间的字符串,第1行为一条加密信息,第2行为第1行的加密信息所对应的原信息,第3行则是要求翻译的加密信息。比如第一行:ABA第二行:ACA第三行:BA的情况下,输入的结果则是 CA但,还有条件限制,① :第二行里A~Z这26个字母一定都出现过② :加密信息与原文信息不能有重复,比如...

2019-05-05 23:30:00 272

转载 【洛谷】训练场_高精度算法

今天练习的是高精度算法篇:前三题都是关于高精度算法的加法、减法与乘法运算模板题,推荐以下博客学习:https://blog.csdn.net/fanyun_01/article/details/79967170既然AC了前三题,那么下面两题应该也不成问题了:P1255数楼梯题意:楼梯上有N阶,上一楼可以一步上一阶,也可以一步上二阶。编一个程序...

2019-05-05 20:50:00 262

转载 【洛谷】训练场_动态规划的背包问题篇(不全)

P1060开心的金明题意:金明有n块钱,他有m样东西可买,这m样东西每份都有自己的价格v与重要度(lv:1~5),求在他不超过n元的前提下,使每件物品的价格与重要度的乘积的总和最大。分析:Dp的话要开一个二维数组,n < 30000, m < 25, 这个二维数组还是可以开出来的。接着就是简单的dp模板题了。 1 int rec(i...

2019-05-04 21:25:00 267

转载 【洛谷】训练场_贪心篇(不全)

笔者认为:贪心算法(greedy algorithm),指对事情的每一步都选择最优解解决,因此常用做求最值问题。P1090 合并果子题意:多多有n堆果子,每堆果子的数目可能不一样(ai),多多想要把果子合并成一堆,求多多最少花费的体力值。例如有33种果子,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3,耗费体力为3。接着,将新...

2019-05-03 16:21:00 371

转载 【洛谷】P1443 马的遍历

题目:https://www.luogu.org/problemnew/show/P1443简单的BFS模板题——因为我写出来了。分析过程:n*m矩阵,用二维数组数据不大,二维数组稳了先把二维数组初始化为-1,马的坐标,即起点的坐标再设为0接着开始遍历——8个方向(下过中国象棋的大牛应该不陌生)设一个结构,储存落点的位置与所走的步数,每走一次就记录...

2019-04-09 22:44:00 483

空空如也

空空如也

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

TA关注的人

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