上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: CCF 出的原题观摩一下。 思路 首先可以用一个 Trie 来维护。 在这里对本文中的一些变量做一下说明。 \(p\) 表示当前维护的 Trie 中,指向的元素编号。 \(t_i\) 表示在 Trie 中编号为 \(i\) 的元素在原序列中的值。 \(f_i\) 表示在 Trie 中编号为 \(i\ 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(15) 评论(0) 推荐(0)
摘要: 思路 这是一道简单的 DP 题,DP 题的核心就是状态转移。 先来说一说 \(dp\) 数组的含义。 \(dp_{i,j}\) 表示从 \(i\) 这个点用 \(2 ^ j\) 条线段能走到的最远的点。 我们再来考虑一下边界情况。 因为我们只用 \(2 ^ 0\) 条线段,那么:\(dp_{i,0} 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(38) 评论(0) 推荐(0)
摘要: 思路 发现,如果相邻元素的奇偶性相同,那么一定能通过在较低的位置竖着放若干个如果在 \(i\) 的位置竖着放一块砖头,使得这两列的高度相同。 那么,我们想到直接考虑 \(h_i\) 的奇偶性,即将 \(h_i \leftarrow h_i \bmod 2\)。 如果 \(h_i = h_{i + 1 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(23) 评论(0) 推荐(0)
摘要: 思路 考虑用线段树维护区间信息: 价格在 \([l,r]\) 之间的 CPU 的数量。 购买所有价格在 \([l,r]\) 之间 CPU 所需的钱。 容易将区间修改转化为差分,从而实现单点修改。于是可以使用 \(n\) 个 vector 存储第 \(i\) 天所需进行的修改。 查询第 \(i\) 天 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(24) 评论(0) 推荐(0)
摘要: 思路 考虑对于每一个 \(a\) 上数位进行分析。令 \(a_i\) 表示 \(a\) 在二进制表示中从左往右数的第 \(i\) 位上的数字,\(b_i\) 同理。 分类讨论一下 \(a_i\) 的取值对于答案的贡献: 如果 \(a_i = 0\),对于这一位无论如何都不会拥有贡献。 如果 \(a_ 阅读全文
posted @ 2024-06-23 22:21 WBIKPS 阅读(25) 评论(0) 推荐(0)
摘要: 题意 给定一个长度为 \(n\) 的序列 \(\{a_1,a_2,\dots,a_n\}\)。现在要在 \(a\) 选出非空子序列 \(\{b_1,b_2,\dots,b_m\}\),使得所有的 \(i \in [1,m]\),都有 \(b_i \bmod i = 0\)。 求能够选取 \(b\) 阅读全文
posted @ 2024-06-23 22:21 WBIKPS 阅读(32) 评论(0) 推荐(0)
摘要: 思路 首先发现选出的数最多 \(3\) 个,考虑反证法。假设选出了四个数 \(a,b,c,d\),并令: \[|a - b| = 2^{x_1},|b - c| = 2^{x_2},|c - d| = 2^{x_3} \]又因为,\(|a - c|,|b - d|\) 也都是 \(2\) 的次幂,那 阅读全文
posted @ 2024-06-23 13:04 WBIKPS 阅读(19) 评论(0) 推荐(0)
摘要: 思路 毒瘤数位 DP 题。 首先,你可以用一个 vector 储存每一个数字出现的次数,然后用 map 记忆化。 然后可以得到如下 TLE #8 的代码。 因为 map 自带一只 \(\log\) 所以,考虑将 map 优化掉。但是,现在每一种数字可能会出现很多次,所以要用 vector 维护出现次 阅读全文
posted @ 2024-06-23 13:00 WBIKPS 阅读(31) 评论(0) 推荐(0)
摘要: CSP-2022 S2 T1 弱化版。 思路 首先因为边权均为 \(1\),所以我们可以在 \(\Theta(n^2)\) 的复杂度用 BFS 求解出任意两点 \(i,j\) 的最短距离 \(d_{i,j}\)(如果 \(i\) 不能到达 \(j\),则令 \(d_{i,j} = -1\))。 有一 阅读全文
posted @ 2024-06-23 13:00 WBIKPS 阅读(27) 评论(0) 推荐(0)
摘要: 思路 首先发现 \(\sum_{i = 1}^{n}i^k\) 是一个 \(k + 1\) 次多项式,那么我们需要求出 \(k + 2\) 个点才能得到唯一的一个 \(f(t) = \sum_{i = 1}^{t}{i^k}\)。 不难通过拉格朗日插值法,将 \(x = 1 \sim (k + 2) 阅读全文
posted @ 2024-06-23 13:00 WBIKPS 阅读(41) 评论(0) 推荐(0)
摘要: 思路 首先考虑答案下界,因为 \((n - i)\) 和 \(|d_i + i - n|\) 均大于等于 \(0\),所以它们相乘一定大于等于 \(0\)。于是考虑能不能构造出结果为 \(0\)。 显然当 \(i = n\) 时,无论 \(d_i\) 的值是什么,式子的结果为 \(0\)。因此只需要 阅读全文
posted @ 2024-06-23 13:00 WBIKPS 阅读(44) 评论(0) 推荐(0)
摘要: 思路 发现 \(x\) 对题目的限制较大,因此考虑先将 \(x\) 排序并离散化后再来考虑。 不难用线段树维护 \(\max_{i = l}^{r}\{x_i + len_i\}\),这样我们就可以利用类似线段树上二分的技巧得出是哪一只青蛙吃掉的蚊子。 但是有可能有一只蚊子无法吃掉,我们先把它丢进一 阅读全文
posted @ 2024-06-23 13:00 WBIKPS 阅读(29) 评论(0) 推荐(0)
摘要: 思路 首先,可以转化题意,找到一个极长的区间 \([l,r]\) 使得(其中 \(mx_i\) 表示 \([l,r]\) 区间中属性 \(i\) 的最大值): \[ \sum_{i = 1}^{m}mx_i \leq k \]显然对于这个东西当 \(l,r\) 发生移动时,是极其好维护的,所以想到双 阅读全文
posted @ 2024-06-23 13:00 WBIKPS 阅读(17) 评论(0) 推荐(0)
摘要: 思路 Part 1 简单版 我们先想一想,如果每一种花有无限个,有多少种选法。 我们先假设第 \(i\) 种花选 \(x_i\) 支,那么,我们可以得出以下式子: \[ \sum_{i = 1}^{i = n}x_i = m \]然后,我们根据隔板法,得出答案:\(C_{n + m + 1}^{n 阅读全文
posted @ 2024-06-23 12:59 WBIKPS 阅读(34) 评论(0) 推荐(0)
摘要: 思路 首先考虑非常暴力的方法,令 \(s_i\) 表示这个数字的第 \(i\) 位上的数。则对于一个 \(s_i = 0/5\),则考虑将其留下成为最后一位元素:\(i\) 之后的所有元素都必须删,并且在 \(i\) 之前的元素可删可不删,因此贡献是 \(2^{i - 1}\)。得到如下表达式: \ 阅读全文
posted @ 2024-06-23 12:59 WBIKPS 阅读(13) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页