摘要: Solution 可以发现合法的序列一定由若干个 \(l\),每对相邻的 \(l\) 中间至少夹一个 \(t\) 组成。而对于 \(Lao\),其第一个字符必须为 \(l\)。那么就容易建立出自动机。 对于 \(Lao\),从 $1$ 号点开始转移;对于 \(Tui\),从 $3$ 号点开始转移。如 阅读全文
posted @ 2020-11-26 18:56 Kreap 阅读(83) 评论(0) 推荐(0)
摘要: Solution 答案只可能和前缀最大值相关,不妨枚举这个最大值 \(k\)。有 \(n\) 个 \(+1\),所以范围是 $1$ ~ \(n\)。答案就是 \(\sum_{k=1}^{n} k\times (最大前缀和为k的序列个数)\) 只需要求出后面那个。对于一个最大前缀和为 \(k\) 的序 阅读全文
posted @ 2020-11-25 16:34 Kreap 阅读(226) 评论(0) 推荐(0)
摘要: Solution 观察将一个序列按一定方法加入到双端队列的性质。发现若直接在队尾加入,则不会改变相对顺序,而加入到队头的元素实际上是原序列的某个子序列再反过来。干脆直接将原序列复制一份到前面再反转。那么答案就是这个新序列的最长上升子序列(考虑反转过去后,前后对应相等的两个元素不会同时出现在最长上升序 阅读全文
posted @ 2020-11-25 15:47 Kreap 阅读(115) 评论(0) 推荐(0)
摘要: Link Description 设 \(S\) 是长度为 \(w\) 的 \(01\) 串。从串的右边开始,每 \(k\) 个字符分成一段(最后不够 \(k\) 个字符的也分成一段),组成一个小于 \(2^k\) 的数。然后这 \(\left\lceil\frac{w}{k}\right\rcei 阅读全文
posted @ 2020-11-24 11:56 Kreap 阅读(264) 评论(0) 推荐(0)
摘要: Link 题目描述 解法 每种颜色的点都可以构成一个序列,而把一种颜色改成另一种颜色,实际上是将一个序列接在另一个序列后面,同时将段数量维护一下。段数量如何维护?可以看出,对于每次修改,只有被修改的点可能会产生贡献,且只与这些点前一个和后一个点有关。如果修改了之后前后的点颜色相同,就将段数减一。事实 阅读全文
posted @ 2020-11-23 18:46 Kreap 阅读(98) 评论(0) 推荐(0)
摘要: 2020.11.23 解法 题目只要求求出 \(C\) 的值,它就提示我们 \(C\) 和 \(A\)、\(B\) 的值没有太大关系。照着这个思路我们把 \(A\) \(B\) 合并一下,搞成二元组。对 \(A+B\leq C\),\((A+B,C)\to(2(A+B),C-(A+B))\),对 \ 阅读全文
posted @ 2020-11-23 15:09 Kreap 阅读(82) 评论(0) 推荐(0)
摘要: 2020.11.21 解法 连接两个点的那条最大值最小的路径一定在最小生成树上,而又要查询这个最大值是多少,那么就想到建出克鲁斯卡尔重构树。由于可能不连通,所以最后建出来的实际上是重构森林,记得要把每个连通块都遍历到。 对于节点的连通性,直接用之前维护好的并查集就好了,不连通就输出-1,连通的话再在 阅读全文
posted @ 2020-11-23 14:38 Kreap 阅读(92) 评论(0) 推荐(0)
摘要: 2020.11.21 解法 把每种字符看成一个点,把每个简单词看成一条边(\(T=1\) 时是无向边,\(T=2\) 时是有向边)。那么问题就转换为寻找一条路径,使得该路径不重复地走过所有边,即寻找欧拉路径。 一张无向图包含欧拉路径,当且仅当所有点的度数为偶或者恰好有两个度数为奇的节点。一张无向图包 阅读全文
posted @ 2020-11-23 14:09 Kreap 阅读(129) 评论(0) 推荐(0)
摘要: 转换要按照运算符优先级。 \(s\) 为中缀表达式,\(sta\) 为转换中维护的一个栈,\(a\) 为最终的后缀表达式。 顺序扫描一遍中缀表达式。如果遇到数,直接加入到后缀表达式中;如遇到操作符: 栈为空,直接将该操作符入栈。 否则,一直弹栈,直到栈顶操作符优先级更低(更低指严格更低,优先级相同的 阅读全文
posted @ 2020-11-21 14:20 Kreap 阅读(103) 评论(0) 推荐(0)
摘要: Link 题目描述 求所有使方程 \(z=\lfloor\frac{x}{2}\rfloor+y+xy\) 不存在正整数解 \((x,y)\) 的 \(z\) 中,第 \(n\) 小的 \(z\) ,结果对 $10^9+7$ 取模 解法 向下取整不好搞,所以想到分奇偶讨论把向下取整去掉。 若 \(x 阅读全文
posted @ 2020-11-13 20:41 Kreap 阅读(104) 评论(0) 推荐(0)