随笔分类 -  搜索->dfs

摘要:序列自动机板子题啊。 阅读全文
posted @ 2019-06-25 08:50 LiGuanlin 阅读(164) 评论(0) 推荐(0)
摘要:二分+dfs+vector暴力合并。 阅读全文
posted @ 2019-05-12 21:13 LiGuanlin 阅读(131) 评论(0) 推荐(0)
摘要:题目描述 题解: 有个$O(\sum 询问k串长)$的做法就不说了。 当然是过不去的。 貌似第22个点总长1e5只有三个串 所以考虑对询问的$k$串串长分开算。 先建$fail$树。 对于$s_k>=\sqrt{n}$的串,最多只有$\sqrt{n}$个。可以枚举然后$dfs$一遍,求出每个结束位置 阅读全文
posted @ 2019-04-17 15:02 LiGuanlin 阅读(223) 评论(0) 推荐(0)
摘要:题目描述 题解: 明显的$k$短路问题,这里提供两种方法。 1.$A$*算法 $A$*可以解决一般的$k$短路问题,但是并不如可持久化可并堆优秀。 $A$*的本质是$f+g$,而估价函数可以用终止节点到终点的最短路表示。 所以先反向建图$dij$,然后小根堆跑$A$*即可。 优化一下,总代价/起点终 阅读全文
posted @ 2019-01-20 16:08 LiGuanlin 阅读(248) 评论(0) 推荐(0)
摘要:题目描述:你有一个#。有8个不同方向可以动,编号依次为A-H。求使其中心8个块数字变成相同时,最短字典序最小的字符串以及中心的数字。 题解: 对于这种状态极为发散的搜索,我们可使用A*。而这道题要求最短,我们可以采用IDA*。 估价函数h=8-(中心块上出现最多的数的出现次数)。 因为每动一次只踢出 阅读全文
posted @ 2018-11-24 07:45 LiGuanlin 阅读(130) 评论(0) 推荐(0)
摘要:题目描述: 你现在有x^1,每动一步可以用当前存在的x^a和x^b获得x^(a+b)或x^(abs(a-b))。给出n(n<=1000),求最少多少步能得到x^n。 题解: IDDFS。枚举步数,然后dfs+剪枝。 剪枝: 1.目标高于上限时减掉; 2.当前存在两个>n或以上时减掉。 代码: 阅读全文
posted @ 2018-11-23 23:26 LiGuanlin 阅读(166) 评论(0) 推荐(0)
摘要:题目描述:给出一棵树,其中1为根。1号有病,每天向下传染一代。每天可以断一条边。求最小传染数。 代码: 阅读全文
posted @ 2018-11-23 20:03 LiGuanlin 阅读(235) 评论(0) 推荐(0)
摘要:题目描述:在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空 位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精 阅读全文
posted @ 2018-11-23 18:34 LiGuanlin 阅读(220) 评论(0) 推荐(0)
摘要:题目描述: 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数。 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的。 对于一个分数a/b,表示方法有很多种,但是哪种最好呢? 首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越 好。 阅读全文
posted @ 2018-11-22 19:12 LiGuanlin 阅读(225) 评论(0) 推荐(0)
摘要:题目大意:给出n对括号,并给出每对括号距离的范围。问能否找到这样一个序列。 题解:好多人都用贪心。这么好的题为什么不搜一发呢? 注意:千万不要在dfs里面更新答案。 代码: 阅读全文
posted @ 2018-10-22 18:48 LiGuanlin 阅读(244) 评论(0) 推荐(0)
摘要:题目大意:给出一棵n个结点的树以及常数k。将树的所有叶节点(度为1)分组,使得组内每个叶节点距离<=k,求最小组数。 题解:贪心搜索,找一个度不为一的树根,然后对于每个节点按最远的合法叶节点距离排序,然后合并。时间复杂度O(nlogn)。 代码: 阅读全文
posted @ 2018-10-22 07:04 LiGuanlin 阅读(143) 评论(0) 推荐(0)
摘要:题目背景 你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意? 众所周知,跳华尔兹时,最重要的是有好的音乐。但是很少有几个人知道,世界上最伟大的钢琴家一生都漂泊在大海上,他的名字叫丹尼·布德曼·T.D.·柠檬·1900,朋友们都叫他1900。 1900 在20 世纪的第一年 阅读全文
posted @ 2018-10-05 22:50 LiGuanlin 阅读(173) 评论(0) 推荐(0)
摘要:题目描述 策策同学特别喜欢逛公园。公园可以看成一张N个点M条边构成的有向图,且没有 自环和重边。其中1号点是公园的入口,N号点是公园的出口,每条边有一个非负权值, 代表策策经过这条边所要花的时间。 策策每天都会去逛公园,他总是从1号点进去,从N号点出来。 策策喜欢新鲜的事物,它不希望有两天逛公园的路 阅读全文
posted @ 2018-10-04 22:23 LiGuanlin 阅读(174) 评论(0) 推荐(0)
摘要:题目大意:给出多个程序以及其时间复杂度,判断'Yes','No'或'ERR'。 做法: 这种做法比较耗时,但是稳。 每次读进来一个程序,先check是否ERR,然后深搜求解其时间复杂度。 没什么好说的,上代码: 阅读全文
posted @ 2018-09-29 15:17 LiGuanlin 阅读(443) 评论(1) 推荐(0)
摘要:日常题目描述: 题目描述 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。 今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。 为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特 阅读全文
posted @ 2018-09-10 19:02 LiGuanlin 阅读(103) 评论(0) 推荐(0)
摘要:题意:给你一副牌,按照它的规则出牌,求最小出完次数。 dfs大法好!!! 阅读全文
posted @ 2018-09-04 00:47 LiGuanlin 阅读(57) 评论(0) 推荐(0)
摘要:题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。天天爱跑步是一个养成类游戏,需要 玩家每天按时上线,完成打卡任务。 这个游戏的地图可以看作一一棵包含 N个结点和N-1 条边的树, 每条边连接两个结点,且任意两个结点存在一条路径互相可达。树上结点编号为从1到N的连续正整数 阅读全文
posted @ 2018-09-04 00:39 LiGuanlin 阅读(179) 评论(0) 推荐(0)