随笔分类 - dfs
摘要:被肉老师d得血肉模糊 上午自己yy了一发dfs序+树状数组+cdq,结果发现自己子树里面的情况是处理不了的...(orz claris KDT踩过 正解就是整体二分,然后每次像扫描线一样扫过,就能解决时间问题啦 主要的问题是判断是否有一条路径不经过当前点 转化成判断是否所有路径都经过当前点,我们进行
阅读全文
摘要:总的来讲,SAM难想,SA难写,SAM跑得快 SAM: 这题其实巨像bzoj2780 建了广义SAM以后,用dfs序+树状数组求出每个点在多少不同的串里面 然后枚举每个串在上面跑就行了。 SA: 然后如果要上后缀数组的话,把它们接在一起弄,中间插不同的乱七八糟的符号,先套路一手st表求LCP 对于每
阅读全文
摘要:建完sam以后自然而然的就是建后缀树了。 问题转化成多次询问一棵树(fail树)的子树中有多少不同颜色的节点。 等于一个序列的一段有多少种不同的颜色 这是个套路题,离线dfs序+树状数组可解(为什么我看了这么久愣是没看出来呢....) 多次询问一棵树(fail树)的子树中有多少不同颜色的节点。 ==
阅读全文
摘要:好题 先把一条1~n的路径搞出来。 然后再找环,由于是无向连通图,所以必定能到达环,若该环没有和路径接触,环绕一圈原路返回的价值就是环的xor和,假如接触,相当于换了一部分连接的路径。 那么剩下的就是线性基的工作了。 回溯的时候不要恢复。
阅读全文
摘要:为啥我以前辣么流弊又会IDA*又会迭代加深的我自己都不知道呢 那么就是基本的了。 但是有个问题就是迭代加深+IDA*的时候由于估的不准搞得好像要多找几层。。
阅读全文
摘要:太凉了 搜索的练习做不下去了明天再做 先做点数学题压压惊 1~n区间内最约数个数最大中最小的那个数90反素数啊。 然后你可以发现它的指数是由低位到高位递减的。否则交换一下就被淘汰了。 爆搜
阅读全文
摘要:记忆化搜索真是玄学。。 本来只是想写个暴力为啥空间改大就AC了??
阅读全文
摘要:开始本来以为是AC自动机,后来发现不行,跳fail的时候没用的状态太多了。 正解倒着建Trie 然后答案就在子树里 dfs序+主席树求子树中第k大 注意有重串,用链表搞一下 1A,表扬自己~ trie和主席树的变量名重了改的好丑。。
阅读全文
摘要:可以说也是很迷了。最近写的字符串的题都很迷。。 首先看到路牌先写板子AC机,然后迷 然后??? 回忆一下fail的定义:fail[i]到根形成的字符串是i到根形成的字符串的后缀。 那么大力跳fail硬搞 那么题目询问就变成了求在第y个字符串的那条路径上,有多少个节点fail指向的是第x个字符串的最后
阅读全文
摘要:那天贼累就请了一个下午+晚上的假,九点多发现Hank_o大佬居然没有写题,只跟他差一题,就去切了题水题,然后来做这题看似很水的题。 很容易看出来是dfs序+线段树(树状数组那时候想了想好像用不了,现在忘了) 然后我写的线段树T成谜。无语。 好像现在这个就叫可持久化标记(直接看代码都看懂了,应该算是个
阅读全文
摘要:这题真的很容易想到最小生成树。 而且题目有特别的性质,高处的连低处的是单向的,但是不会构环(老实讲一开始就是担心这个,但是现在发现好像没啥影响吧),所以其实先把能够访问的点dfs一次,排完序就直接搞好了。
阅读全文
摘要:这题老号用左偏树写过。 然后现在用了主席树,感觉理解加深了很多。 首先就是dfs序搞出每个节点管理的区间,然后暴力枚举每一个管理者,然后在区间里找最多能够支付多少人。 值得注意的是当前位置的值应该是排序后的数组的值而非原来当前位置的值,调了一中午。。 主席树: 左偏树:
阅读全文
摘要:这题其实就是树剖裸题啊。 然后毒瘤选手由于上题树剖被卡到哭所以选择dfs序+树状数组。 不得不说简单的算法做出来更加难思考。然后网上的dalao们都一笔带过净说什么用两个树状数组维护就可以啦。 经过大半小时的思考,代码实现还是非常简单。 这个值得详细讲讲。 假如我们弄一个树状数组,然后维护的是x到根
阅读全文
摘要:最近手风顺的不行啊,题题都是1A(这就是你刷水题的理由!?%题解当然1A啦。 然后今天写的就是这道小刚讲过的题,当时嫌六维DP太狗就没写。。 做法就是第一维表示上一个位置涂了什么色,然后二~六表示上限。 记忆化搜索。等等这东西好像两年没用了。。。
阅读全文
摘要:直接DFS就可以了。
阅读全文
摘要:刚刚上一篇博客才D了队长一发,心里虚的慌......万分感谢队长给讲折半搜索!!听说这题可以高斯消元(可是我不会...貌似折半我也不会) 这题呢,一想到就是爆搜啦,然而,爆搜2^35必跪,折半搜索,就让他变成了2^17+2^18,这下明白一点了吧,然后假设现在要从全灭到全开,状压一下就是一个LL的数
阅读全文