Loading

随笔分类 -  题解

摘要:Div1.A 套路对每一位考虑,不难发现当前位要消掉,\(k\) 一定要是这个位 \(1\) 的个数的因数,所以对所有位的 \(1\) 的个数取 \(gcd\) 就好了,别忘了特判全 \(0\) code Div1.B 考虑贪心,发现对于当前深度 \(now\),我们能跳到的区间是 \([now-a 阅读全文
posted @ 2021-10-26 22:37 Quick_Kk 阅读(43) 评论(0) 推荐(0) 编辑
摘要:关于此题有一种精简的写法。 首先我们分析题面,可以发现如果最后可以达到使 \(1\) 到 \(n\) 的路径距离都相等,那么从 \(1\) 到任意一个 \(1\) 到 \(n\) 的路径上的节点的路径也都相等。所以我们设 \(dis[u]\) 为 \(1\) 到 点 \(u\) 的路径长度,\(di 阅读全文
posted @ 2021-04-05 14:50 Quick_Kk 阅读(69) 评论(1) 推荐(1) 编辑
摘要:题解 NOIP2020 字符串匹配 感谢 @slzs [NOIP2020] 字符串匹配 先枚举单个 \(AB\) 的总长度,有了很厉害的Z函数我们就可以 \(O(1)\) 求出 \(AB\) 的个数 \(k\)。我们可以预处理出 \(S\) 串的前缀的奇偶个数和后缀的奇偶个数。然后我们再确定 \(C 阅读全文
posted @ 2021-03-31 13:22 Quick_Kk 阅读(106) 评论(1) 推荐(0) 编辑
摘要:题解 [AHOI2005] 航线规划 很神的一道树剖题。 [AHOI2005] 航线规划 首先对于关键航线有一个很显然的性质: 如果存在一个环,则环上的所有点都不可能是关键航线 注意到题中给定了 无论航线如何被破坏,任意时刻任意两个星球都能够相互到达。在整个数据中,任意两个星球之间最多只可能存在一条 阅读全文
posted @ 2021-02-19 10:06 Quick_Kk 阅读(67) 评论(2) 推荐(1) 编辑
摘要:极简思路: 先跑一边AC自动机,处理出 fail 数组,然后再把文本串匹配一下,可以获得 vis 数组,代表着 trie 树上的这个点是文本串的前缀。最后只需要再每个模式串跑一遍 trie 树,就可以得到最长的公共前缀长度了。 #include<bits/stdc++.h> using namesp 阅读全文
posted @ 2021-02-08 10:21 Quick_Kk 阅读(73) 评论(1) 推荐(1) 编辑