
#搜索算法 - 暴力出奇迹#
文章平均质量分 83
Lucky_Glass
The world is what it is; men who are nothing, who allow themselves to become nothing, have no place in it.
世界如其所是。那些无足轻重的人,那些听任自己变得无足轻重的人,在这个世界上没有位置。
展开
-
Openjudge 2.1 1813:熄灯问题
.原创 2017-04-16 12:07:49 · 1390 阅读 · 0 评论 -
竞赛题目讲解-【NOIP2000复赛 普及组】单词接龙
8783:单词接龙单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分不能存在包含关系,例如at和atide间不能相连。原创 2017-07-12 17:19:52 · 1418 阅读 · 0 评论 -
OpenJudge-1998:寻找Nemo
Nemo 是个顽皮的小孩. 一天他一个人跑到深海里去玩. 可是他迷路了. 于是他向父亲 Marlin 发送了求救信号.通过查找地图 Marlin 发现那片海像一个有着墙和门的迷宫.所有的墙都是平行于 X 轴或 Y 轴的. 墙的厚度可以忽略不计.所有的门都开在墙上并且长度为1. Marlin 只能穿过有门的墙. 因为穿过墙是有危险的 (门旁可能会藏有巨毒的水母), Marlin 想穿过尽量少的门找到 Nemo.原创 2017-07-14 14:17:04 · 1614 阅读 · 0 评论 -
考试题目讲解-【第3题】最少连通代价
最少连通代价(mincon.cpp)在一个 N 行 M 列的字符网格上,恰好有 2 个彼此分开的连通块。每个连通块的一个格点与它的上、下、左、右的格子连通。现在要把这 2 个连通块连通,求最少需要把几个’.’转变成’X’。原创 2017-07-15 11:19:18 · 711 阅读 · 0 评论 -
◆竞赛题目◆◇NOIP 2017 普及组◇ Chess 棋盘
◇NOIP 2017 普及组◇ ChessNoip 2017 普及组 第3题深度优先搜索+剪枝广度优先搜索+剪枝+优先队列优化原创 2017-11-20 14:07:25 · 2212 阅读 · 0 评论 -
◆Vjudge◆◇广度优先搜索◇ Eight - 八数码问题
◇广度优先搜索◇Eight - 八数码问题八数码问题算法:广度优先搜索+判重(stl set<>;hash;逆序对编码)原创 2017-11-29 13:48:39 · 1092 阅读 · 0 评论 -
【搜索算法】 ★AtCoder网络赛★ People on a line
★AtCoder 网络赛★D-People on a line◆谈一谈感想…◆第一次网络赛…(继NOIP 2017 之后的第一场竞赛),参加了Beginner(初学者)比赛。感觉不错,好像是第 24 名,也算是给祖国涨了脸吧 那么D题(最后一题),其实我还有50分钟的时间…于是我就…想了30分钟 (oh!),想了很多种方法,像并查集、动态规划什么的都想过,只是确实能力有限,写原创 2018-01-28 21:26:24 · 637 阅读 · 0 评论 -
【割边&割点】 ◆HihoCoder 1183◆ 连通性一·割边与割点
◆HihoCoder 1183◆连通性一·割边与割点□题目□HihoCoder的题目都这么长吗?(>_<)作者还是不要copy了,直接上网址吧:戳这里→HihoCoder 1183□解析□很明显,这就是一道版题……虽然是板,但是毕竟是比较考验思维的题。 1. 割点与割边它们的定义非常简单——在一个连通图中,若删去点u会将原图分成2个及以...原创 2018-03-06 19:01:52 · 466 阅读 · 0 评论 -
【动态规划】 ◆CodeForce 461B◆ Appleman and Tree
◆CodeForce 461B◆Appleman and Tree本期语录:不求甚解,如同从叶节点倒回到根节点,只知道解决一道题的路径;回归问题的本质,再加以分类,才能清晰地从根节点找到每一个叶节点,从而解析这一类算法的每一个类型。□谈一谈感想□现学先写,我刚听完某两位 dalao 对本题的讲解我就开始写 Blog 了……其实是因为我怕我过久了忘掉(T^T)。因为两位原创 2018-02-07 21:55:15 · 507 阅读 · 0 评论 -
【学时总结】 ◆学时 · 一◆ A*算法
【学时·一】A*算法■基本策略■ ——A*(A Star)无非就是BFS的升级,当BFS都超时的时候……同样以队列为基础结构,BFS使用FIFO队列(queue),而A*则使用优先队列(priority_queue)。与BFS的优化极其相似,但一般的BFS优化只是相当于使用了一个最优性剪枝,偶尔不会起到足够的优化所以就TLE了。 所以A*算法改进了其优先级的判定方法,使...原创 2018-04-24 17:11:04 · 698 阅读 · 0 评论 -
【学时总结】 ◆学时IV◆ 图论-二分图
【学时IV】 二分图■微目录■【学时IV】 二分图■微目录■■基本策略■■基本策略■ 其实本质是图论中的网络流二分图是两个由多个点组成的集合(上部和下部,且没有重叠),两个集合中的点不与该集合内其他的点连通,但和另一个集合内的点连通。我们称这两个集合为上部、下部,或X、Y部,比如: 判定 我们可以通过染色的方法将一个普通的连通图转换为...原创 2018-05-12 13:45:35 · 420 阅读 · 0 评论 -
OpenJudge-2152:Pots
2152:Pots有2个罐子编号为“1”和“2”。输入给定它们的容量A、B(前两个整数)以及要求得到的数量C(最后一个整数)。现在可以进行3种操作:FILL(i)- 把罐子i装满,DROP(i)- 把罐子i倒空,POUR(i,j)- 把罐子i的水倒入罐子j,直到罐子i中没有水或者罐子j被倒满了。通过多次操作得到目的-在任意一个罐子中的水为C。输出最少的操作数,并同时输出操作过程。原创 2017-07-05 11:03:31 · 1243 阅读 · 1 评论 -
竞赛题目讲解-【Japan 2002 Kanazawa】碎纸机
【Japan 2002 Kanazawa】碎纸机 你现在负责设计一种新式的碎纸机。一般的碎纸机会把纸切成小片,变得难以阅读。而你设计的新式的碎纸机有以下的特点:1.每次切割之前,先要给定碎纸机一个目标数,而且在每张被送入碎纸机的纸片上也需要包含一个数。2.碎纸机切出的每个纸片上都包括一个数。3.要求切出的每个纸片上的数的和要不大于目标数而且与目标数最接近。原创 2017-07-04 16:28:24 · 1332 阅读 · 0 评论 -
Openjudge 2.2 1750:全排列
.原创 2017-04-19 13:22:52 · 2025 阅读 · 0 评论 -
OpenJudge 2.5 2727:仙岛求药
2727:仙岛求药 少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处。迷阵由M×N个方格组成,有的方格内有可以瞬秒李逍遥的怪物,而有的方格内则是安全。现在李逍遥想尽快找到仙药,显然他应避开有怪物的方格,并经过最少的方格,而且那里会有神秘人物等待着他。现在要求你来帮助他实现这个目标。原创 2017-05-31 12:48:07 · 817 阅读 · 0 评论 -
竞赛题目-【USACO TRAINING】母亲的牛奶
【USACO TRAINING】母亲的牛奶USACO TRAINING竞赛题目讲解:广度优先搜索原创 2017-06-03 17:53:01 · 1100 阅读 · 0 评论 -
竞赛题目-【NOIP2012】马拦过河卒
【NOIP2002】马拦过河卒棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。原创 2017-06-04 07:24:15 · 1170 阅读 · 0 评论 -
练习题讲解-【搜索算法】置棋问题
【基础算法】置棋问题在M*N的主格中任意指定X个格子构成一个棋盘,而其它格子是残缺的,不能放棋子。在任一个构成的棋盘上放置K个棋子,要求任意两个棋子不得位于同一行或同一列上。求满足条件的所有方案数。原创 2017-06-04 14:33:57 · 1262 阅读 · 0 评论 -
练习题讲解-【搜索算法】部落卫队
【搜索算法】部落卫队原始部落byteland中的居民们为了争夺有限的资源,经常发生冲突。几乎每个居民都有他的仇敌。部落酋长为了组织一支保卫部落的队伍,希望从部落的居民中选出最多的居民入伍,并保证队伍中任何2 个人都不是仇敌。 给定byteland部落中居民间的仇敌关系,编程计算组成部落卫队的最佳方案。原创 2017-06-06 13:54:03 · 4781 阅读 · 0 评论 -
OpenJudge 2.5 7084:迷宫问题
7084:迷宫问题 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, };它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。原创 2017-06-08 13:21:09 · 1579 阅读 · 0 评论 -
OpenJudge-6044:鸣人和佐助
6044:鸣人和佐助佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢?已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置。地图上的每个位置都可以走到,只不过有些位置上有大蛇丸的手下,需要先打败大蛇丸的手下才能到这些位置。鸣人有一定数量的查克拉,每一个单位的查克拉可以打败一个大蛇丸的手下。假设鸣人可以往上下左右四个方向移动,每移动一个距离需要花费1个单位时间,打败大蛇丸的手下不需要时间。原创 2017-06-19 13:45:58 · 1883 阅读 · 1 评论 -
OpenJudge-7221:拯救公主
7221:拯救公主地图用一个R×C的字符矩阵来表示。字符S表示阿福所在的位置,字符E表示公主所在的位置,字符#表示不能踏入的禁区,字符$表示传送门,字符.表示该位置安全,数字字符0至4表示了宝石的类型。阿福每次可以从当前的位置走到他上下左右四个方向上的任意一个位置,但不能走出地图边界。阿福每走一步需要花费1个单位时间,从一个传送门到达另一个传送门不需要花费时间。当阿福走到宝石所在的位置时,就视为得到了该宝石。原创 2017-06-20 13:18:25 · 4601 阅读 · 0 评论 -
竞赛题目讲解-【Standard IO】产生数
产生数 (Standard IO)题目描述 给出一个整数n(n<=2000)和k个变换规则(k≤15)。规则: ①1个数字可以变换成另1个数字; ②规则中,右边的数字不能为零。 上面的整数234经过变换后可能产生出的整数为(包括原数)234,534,264,564共4种不同的产生数。 求经过任意次的变换(0次或多次),能产生出多少个不同的整数。仅要求输出不同整数个数。原创 2017-07-03 16:56:18 · 2060 阅读 · 0 评论 -
【学时总结】 ◆学时·二◆ IDA*算法
【学时·二】 IDA*算法■微目录■■一般的题■ DNA sequence ■稍微难一点■ The Rotation Game■基本策略■ 如果状态数量太多了,优先队列也难以承受;不妨再回头看DFS……A*算法是BFS的升级,那么IDA*算法是对A*算法的再优化,同时也是对迭代加深搜索(IDFS)的优化。之前的学习中,已经了解到A*算法通过启发函数达到了...原创 2018-05-08 13:04:08 · 547 阅读 · 0 评论