摘要: D. 字符串 比较接近. 思路 直接判断是 \(\mathcal{O}(n^2m)\) 的, 考虑用桶记录. 对于 \(m = 1\) 的情况, 我们用桶记录一下当前的 ? 个数和各个字母出现次数即可. 拓展一下, 对于 \(m > 1\) 的情况, 对于一个字符串, 有用的位其实只有字母位 \(( 阅读全文
posted @ 2025-03-19 19:40 Steven1013 阅读(20) 评论(0) 推荐(0)
摘要: C. 软件工程 不太好想. 思路 先来考虑一下一个集合的贡献如何算. 显然, 它的贡献为 \(\max(0, r_{\min} - l_{\max})\). 这样, 我们将线段按右端点升序排序就可以轻松求出 \(r_{\min}\), 也就是每次加入集合的第一个元素. 假设我们已经钦定了 \(k\) 阅读全文
posted @ 2025-03-19 19:40 Steven1013 阅读(38) 评论(0) 推荐(0)
摘要: B. 组合数问题 考场乱搞的. 思路 首先 \(f(n, 0) = 1\), 然后 \[\begin{align*} f(n, k) & = \sum_{x_1 = 0}^n \binom{n}{x_1} \sum_{x_2 = 0}^{x_1} \binom{x_1}{x_2} \dots \su 阅读全文
posted @ 2025-03-19 19:39 Steven1013 阅读(15) 评论(0) 推荐(0)
摘要: 题面 & 题解 A. 前端 题意 你是一个前端程序员。有一天同事来问你这个问题: 有一张 \(n\) 个点 \(m\) 条边的简单无向图, 每个点有一个正整数的权值. 现在有人打算按一个顺序依次删除这 \(n\) 个点. 定义一个连通块的权值为连通块内所有点的权值的和. 他想要知道, 每次删除了一个 阅读全文
posted @ 2025-03-19 19:39 Steven1013 阅读(7) 评论(0) 推荐(0)