07 2024 档案

摘要:思路 我们先随便选择一个叶子结点,查询 \(B\) 次。如果是返回的结果是 \(1\),说明鼹鼠就在这个叶子结点;否则它将向上跳 \(B\) 次。 此时,我们得到一个关键结论,如果一棵子树最大深度小于等于 \(B\),那么鼹鼠一定不在这棵子树中,因为鼹鼠无论如何都跳了 \(B\) 次。 我们希望找到 阅读全文
posted @ 2024-07-25 22:19 WBIKPS 阅读(12) 评论(0) 推荐(0)
摘要:思路 发现最简单的方法就是直接枚举三个点,但是复杂度 \(\Theta(n^3)\) 无法接受。 考虑枚举一个点,并确定它的一条边,那么只需要再枚举一个点了。于是转化为了,对于每一个点找到其最好的出边。 观察下图,\(a \to c\) 的边是不必要的。因为,如果有一个三元环包含 \(a \to c 阅读全文
posted @ 2024-07-25 13:34 WBIKPS 阅读(6) 评论(0) 推荐(0)
摘要:思路 先考虑 \(\Theta(n^2k)\) 的暴力 DP。 定义 \(dp_{i,j}\) 表示在前 \(i\) 个数中选取 \(j\) 个的最小和,转移显然: \[dp_{i,j} = \min_{1 \leq k < i}\{dp_{k,j - 1} + s_{k + 1,i} \bmod 阅读全文
posted @ 2024-07-24 23:02 WBIKPS 阅读(11) 评论(0) 推荐(0)
摘要:思路 如果没有删除操作,就是一个典中典。 直接枚举最小值 \(a_i\),可以轻松 \(\Theta(n)\) 找到其所能管辖到的最大区间 \([L_i,R_i]\)。形式化地说,找到一个最小的 \(L_i\) 和一个最大的 \(R_i\),使得 \(\min_{L_i \leq x \leq R_ 阅读全文
posted @ 2024-07-24 18:34 WBIKPS 阅读(39) 评论(0) 推荐(0)
摘要:思路 观察到 \(t_i\) 和 \(n\) 都很小,考虑从此切入。 定义 \(dp_{i,a,b,c}\) 表示用前 \(i\) 本书,第一层厚 \(a\),第二层厚 \(b\),第三层厚 \(c\) 的三层最小总高度。 然后你就发现 \(c\) 这一维是完全可以被 \(sum - a - b\) 阅读全文
posted @ 2024-07-23 00:10 WBIKPS 阅读(11) 评论(0) 推荐(0)