![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
姬小野
这个作者很懒,什么都没留下…
展开
-
解题报告_POJ1979-red and black_深搜水题
POJ 1979 red and blackDescriptionThere is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to原创 2018-01-24 15:18:56 · 197 阅读 · 0 评论 -
P1330封锁阳光大学_bfs_黑白染色
洛谷P1330封锁阳光大学题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街。河蟹看到欢快的曹,感到不爽。河蟹决定封锁阳光大学,不让曹刷街。阳光大学的校园是一张由N个点构成的无向图,N个点之间由M条道路连接。每只河蟹可以对一个点进行封锁,当某个点被封锁后,与这个点相连的道路就被封锁了,曹就无法在与这些道路上刷街了。非常悲剧的一点是,河蟹是一种不和谐的生物,当两...原创 2018-07-26 11:46:23 · 294 阅读 · 0 评论 -
P1874 快速求和 Dfs
传送门 题目描述 给定一个数字字符串,用最小次数的加法让字符串等于一个给定的目标数字。每次加法就是在字符串的某个位置插入一个加号。在里面要的所有加号都插入后,就像做普通加法那样来求值。 例如,考虑字符串“12”,做0次加法,我们得到数字12。如果插入1个加号,我们得到3,因此,这个例子中,最少用1次加法就得到数字3. 再举一例,考虑字符串“303”和目标数字6,最...原创 2018-07-26 19:21:33 · 395 阅读 · 0 评论 -
[USACO08DEC]在农场万圣节Trick or Treat on the Farm】
转载自洛谷博客-传送门题解 P2921 【[USACO08DEC]在农场万圣节Trick or Treat on the Farm】做完以后粗略翻了下题解,发现都是 TarjanTarjan 或记忆化搜索,总之逃不出 dfsdfs ,所以我就把我的非递归方法贡献一下吧。事实上,这道题用 TarjanTarjan 是大材小用了。此题不需要任何算法,两层简单的循环就能解决。首先我们需要...转载 2018-07-27 11:01:06 · 283 阅读 · 0 评论 -
P1032 字串变换_BFS+判重
P1032 字串变换 传送门不描述题目了.应该说作为BFS题目还是不难的, 看着就有思路, 题目的数据也是比较小的了. 思路就是: BFS+模拟匹配+去重注意, 去重是万万不可少的, 不然程序可能会运行很长的时间, 而去重可以大大减少时间.还要注意不满足条件是NO ANSWER!, 这里有个感叹号.#include <algorithm>#include &l...原创 2018-08-03 21:44:09 · 334 阅读 · 0 评论 -
P1126 机器人搬重物_复杂bfs
P1126 机器人搬重物 传送门说实话这道题蛮复杂度, 需要注意的东西比较多.如机器人是球形且有直径,它的中心是点而非方格. 所以可以选定一个方格作为机器人的位置一个障碍物直接占满一个格子,而同样因为机器人的直径问题,不能到这些格子的格点上去, 需要特殊判断在移动时机器人不能跨过障碍物,即遇到障碍物就必须停止。可用break直接实现.对于一个坐标, 可能有四个方向的情况, ...原创 2018-08-05 01:18:34 · 493 阅读 · 0 评论 -
CCF 201604-4 游戏_BFS
CCF 201604-4 游戏 传送门一看题目觉得很简单, 这不就是一道bfs水题吗? 但心里面告诉自己千万不要轻敌, 认真分析下题目先.如果按照常规的BFS思路, 会有一个bug: 因为这些障碍是在一段时间不通过,所以如果回来可能会更快. 那么这时vis数组就失效了,因为回不来…思考一下会发现, 不外乎两种情况.一种是不会回来了, 刚好可以过掉 另一种是回来反而会得到更优的解,...原创 2018-08-09 13:32:35 · 1112 阅读 · 9 评论 -
单词接龙_dfs
P1019 单词接龙题目描述单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beastbeast 和 astonishastonish ,如果接成一条龙则变为 beastonishbeastonish ,另外相邻的两部分不能存在...原创 2018-07-31 23:10:37 · 279 阅读 · 0 评论 -
CCF 201409-4 最优配餐
CCF 201409-4 最优配餐 传送门这道题很水, 不过刚开始超时了. 有一个收获: 对一张图里分散的点进行BFS时, 不必每次都将其作为源点, 进行BFS. 而可以全部压入队列中, 进行BFS. #include <algorithm>#include <iostream>#include <cstring>#include <vect...原创 2018-08-13 10:49:08 · 457 阅读 · 0 评论 -
201803-4棋局评估_极大极小值算法_对抗搜索(转载)
问题描述 试题编号:201803-4 试题名称:棋局评估 时间限制:1.0s 内存限制:256.0MB 问题描述:问题描述 Alice和Bob正在玩井字棋游戏。 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是“X”,Bob放的是“O”,Alice执先。当同一种棋子占据一行、一列或一条对角线的三个格...转载 2018-09-05 15:33:30 · 1633 阅读 · 0 评论 -
简要题解-图论-搜索-并查集-dp-树形-拓扑-tarjan等等
[USACO09NOV]找工就业Job Hunt [图论,spfa,最长路]attentions:对我而言非常好的一道题!最长路!有几个点 1、这道题转化成最长路来求解,方法和最短路类似 2、但这道题是点有正权且只有负权边,且路径为单向!那么精妙之处在于,可以将点权转化为边权!!! 3、由于题目中可能出现正环(和最短路相反!),所以需要使用SPFA(判环和最短路类似)!P26...原创 2018-09-16 10:18:02 · 355 阅读 · 0 评论 -
剑指offer之二—最小的k个数
文章目录问题描述方法一:排序 `O(nlogn)`方法二:找出第k大的数 `O(n)`方法三:使用二叉树 `O(nlogk)`算法思想最大堆版multiset版(红黑树)问题描述给定一个数组,求这个数组最小的k个数。方法一:排序 O(nlogn)最直观的方法大概就是排序了,排序大法好,很多问题排个序就可以解决,然而功能过剩的排序显然不是此问题的最佳解法。使用快排的话,平均时间复杂度为O(...原创 2018-09-24 17:48:08 · 245 阅读 · 0 评论 -
剑指offer之一—数组中出现次数超过一半的数字
文章目录问题描述方法一:给数组排序方法二:桶排序计数方法三:巧用栈方法四:找中位数(第n/2大数)用头脑风暴学算法,对于一个问题,我们不只是要解决它,还要去思考有什么好的方法,差的方法去解决,甚至是一些错误的但可以提供思想借鉴的方法。此问题“数组中出现次数超过一半的数字”是一道非常经典的算法题,我把它放在算法风暴系列第一篇来解析,探讨学习一个算法的过程,从慢到快,从最直观的方法到脑洞大开的方法...原创 2018-09-23 21:38:02 · 1867 阅读 · 0 评论 -
P2420 让我们异或吧-异或性质-树形结构
题目链接题目描述异或是一种神奇的运算,大部分人把它总结成不进位加法.在生活中…xor运算也很常见。比如,对于一个问题的回答,是为1,否为0.那么:(A是否是男生 )xor( B是否是男生)=A和B是否能够成为情侣好了,现在我们来制造和处理一些复杂的情况。比如我们将给出一颗树,它很高兴自己有N个结点。树的每条边上有一个权值。我们要进行M次询问,对于每次询问,我们想知道某两点之间的...原创 2018-09-11 11:04:11 · 323 阅读 · 0 评论 -
CCF-201403-4 无线网络
试题编号: 201403-4 试题名称: 无线网络 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立网络连接。 除此以外,另有 m 个可以摆放无线路由器的位置。你可以在这些位置中...原创 2018-07-18 15:53:51 · 450 阅读 · 1 评论 -
P1162 填涂颜色_bfs
题目描述 由数字 00 组成的方阵中,有一任意形状闭合圈,闭合圈由数字 11 构成,围圈时只走上下左右 44 个方向。现要求把闭合圈内的所有空间都填写成 22 .例如: 6 \times 66×6 的方阵( n=6n=6 ),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 ...原创 2018-07-23 17:43:51 · 344 阅读 · 0 评论 -
回溯-八皇后问题
八皇后问题是经典的回溯问题 常用的方法是递归, 也可以暴力枚举 知乎上有用一行代码写的我刚接触算法时翻过紫书, 那时了解的知识太少了, 一次翻到八皇后问题, 觉得这好复杂, 怎么做得出来! 于是心里自我暗示地告诉自己这道题很难.直到今天在计蒜客上看视频时, 提到了八皇后问题, 鉴于视频上内容较基础, 我想是不是八皇后问题其实并不难?翻书之后, 以我现在的能力还是无法独立思考出, ...原创 2018-01-24 21:48:55 · 571 阅读 · 0 评论 -
俄罗斯方块_二进制法_模拟
俄罗斯方块是我很早之前做的模拟题, 题目在当时看来挺复杂, 现在看来也是挺简单了. 昨天看视频看到状压DP用二进制表示状态, 对这种思维方式印象深刻, 于是乎今天早上突然想起了用二进制表示曾经做过的俄罗斯方块题目.因为那道题有方块为1没方块为0. 觉得可行, 故试之.结果没有想象中的代码少, 实现起来较为复杂. 不过还在用二进制表示的话, 空间复杂度和空间复杂度大大降低, 也不负这一番折腾原创 2018-01-25 09:51:48 · 536 阅读 · 0 评论 -
STL_排序与检索
STL中有支持排序和检索的函数如sort, 二分查找. 使用起来较为方便.sort函数添加在头文件algorithm中, 使用方法如: sort(start,end[,排序方法])int a[5] = {1,2,34,4,3};sort(a, a+5); //这是最简单的sort方法, 使用默认的排序方法升序排列sort(a, a+5, cmp); // cmp为bo原创 2018-02-03 11:58:07 · 207 阅读 · 1 评论 -
洛谷_烤鸡_回溯和枚举
这是洛谷试炼场上新手村的一道Boss题, 让我头疼了好久洛谷各种题解感觉是不难的, 枚举或搜索也许都可以, 但是就是没明确思路, 想要写的时候, 不知从何下手看了不少题解之后, 写了回溯和枚举两种方法. 也看出了自己的一些问题.看书做了八皇后问题之后本以为掌握了回溯, 结果还只是停留在表面和片面的层次, 其他的回溯问题因为没有见过这样的模型就只有模糊概念而无精确的过程设计.所以...原创 2018-02-10 09:10:17 · 576 阅读 · 0 评论 -
洛谷_P1962_斐波那契数列
这道题是洛谷上提高+/省选-的题目.看上去是道简单的斐波那契数列, 可是看看数据范围, 用普通的递推方式肯定超时.那么这道题该怎么做呢?标准的做法似乎是矩阵快速幂(题解提到), 然而笔者还不会, 再看题解, 发现有其他的方法. 是一个从没见过或者见过但没有印象的斐波那契数的性质f(2n) = f(n+1)^2 - f(n-1)^2; f(2n+1) = f(n+1)^2 + f...原创 2018-02-11 10:39:10 · 412 阅读 · 0 评论 -
搜索_DFS_走迷宫
今天学了搜索, 不过暂时还停留在较为初级的阶段这节介绍DFS和回溯.比较基础的DFS回溯题:走迷宫这道题不是裸的深搜题, 中间要记录走过的点, 用vector结构体储存期间出过几个小错误, 比如边界条件弄错发现这种格式比较复杂的题目中, 还是用printf()函数比较舒服 难怪Python也是这样用的注意回溯法的几个要点初始状态目标状态 状态恢复 // 尤其要...原创 2018-02-13 22:21:42 · 180 阅读 · 0 评论 -
搜索_DFS_全排列
全排列是什么? 比如1 2 3 这三个数的全排列是: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1用DFS生成一个序列的全排列很方便也很简单.同样, 用搜索树的概念去理解这样的一个过程时间复杂度为O(n!)一道全排列的问题基本是裸的回溯了#include <bits/stdc++.h>us...原创 2018-02-13 22:34:56 · 148 阅读 · 0 评论 -
搜索_DFS_选数和
这是一道选数题目, 我认为比较有价值不是很难, 但这道题的一种算法设计给了我一些启发, 让我进一步理解DFS. 以及搜索树!以前AC过, 开始靠自己是A不了的, 后来看了题解A掉了再次写的时候也A掉了, 但方法拙劣了很多, 很暴力的沿用全排列的方法, 有了很多重复计算.接触搜索不久, 还没有掌握什么剪枝的技巧 思路是: 枚举出所有的排列情况(期中k个数之和可能重复)...原创 2018-02-13 22:47:52 · 224 阅读 · 0 评论 -
algorithm_find函数和distance函数
find函数和distance函数都是算法库里的函数 包含在头文件algorithm中, 算是STL的内容只介绍最简单的用法find函数有三个参数, 分别代表 (起点, 终点后一位, 要找的数) 返回一个地址可以是容器, 或者数组如果没有找到, 则返回终点后一位的地址 找到了, 返回区间[first,end)中第一个值等于value的元素的地址进阶版本是find_if(...原创 2018-03-06 13:15:18 · 3596 阅读 · 0 评论 -
幼儿园买玩具_二进制枚举
. 幼儿园买玩具 蒜厂幼儿园有 nn 个小朋友,每个小朋友都有自己想玩的玩具。身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 mm 个玩具。已知玩具商店一共卖 kk 种玩具,编号为 1,2,3,…k1,2,3,…k,你让每个小朋友把想玩的玩具编号都写在了纸上。你希望满足尽可能多的小朋友的需求,请计算出最多同时能满足多少个小朋友的玩具需求。输入格式 第一行,输入三个整数 ...原创 2018-04-14 12:59:17 · 965 阅读 · 0 评论 -
映射算法_反排序算法_自创
—————————2018-04-17更新————————最下面有更新—————————以下原博客————————今天做2018年3月份ccf认证第二题的时候, 有个过程是关于对位映射的问题. 怎样的呢?比如这样两个序列: 14 7 8 5 57 32把他们排序之后分别是 7 8 14 5 32 57那么 14 映射 57 ...原创 2018-04-15 11:42:44 · 1150 阅读 · 0 评论 -
快速排序
关于快速排序, 网上有各种教程, 就不细说.思路就是: 找到一个基准数, 然后把小于这个数的数它放在左边, 把大于它的数放在它右边. 然后分治地解决左边和右边的排序.一般基准有左边第一个数, 中间数, 随机某个数. 在不同的问题下, 选定不同的基准数实际时间复杂度可能会有极大差别, 理论上, 推荐随机的基准数.实现快速排序的具体方式也有很多种, 但是基本的思路就是上面介绍的.洛谷...原创 2018-04-10 22:17:09 · 120 阅读 · 0 评论 -
小希的数表
【问题描述】 Gardon 昨天给小希布置了一道作业,即根据一张由不超过 5000 的 N(3<=N<=100)个正整数组成的数表两两相加得到 N*(N-1)/2 个和,然后再将它们排序。例如,如果数表里含有四个数 1,3,4,9,那么正确答案是 4,5,7,10,12,13。小希做完作业以后出去玩了一阵,可是下午回家时发现原来的那张数表不见了,好在她做出的...原创 2018-07-11 17:59:52 · 2436 阅读 · 0 评论 -
IDA*算法解十六宫格拼图问题
IDA*算法, ID(Iterative Deepening)指的是迭代加深. 它的思想是重复进行限制最大深度的深度优先搜索(此限制从某个最小值遍历到最大值), 也成为深度受限搜索.一般情况下, 为了提高搜索速度, 迭代加深不会记录已搜索过的状态, 但同时, 需要做一些调整, 以避免出现马上回溯到上一状态的情况.IDA*算法的步骤首先对初始状态进行评估, 评估值作为最小限度, 而最大限...原创 2018-10-01 09:49:43 · 4532 阅读 · 4 评论