上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页
摘要: 思路 首先转化原式为: \[(a_i + a_j) \times (a_i + a_j + 1) \equiv z \pmod 3 \]考虑对 \(a_i \bmod 3,a_j \bmod 3\) 进行分讨: \(a_i/a_j\) \(0\) \(1\) \(2\) \(0\) \(0\) \( 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(29) 评论(0) 推荐(0)
摘要: 思路 经典贪心,二进制拆分后,从高位往低位枚举。 如果答案的第 \(i\) 位为 \(1\),说明 \(\forall p \in [1,n]\),\(c_p\) 的第 \(i\) 位都是 \(1\)。进而由异或的性质得到,\(\forall p \in [1,n]\),\(a_p\) 的第 \(i 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(33) 评论(0) 推荐(0)
摘要: 思路 首先可以将题目的操作转化为: 将一个数 \(a_i\) 异或一个常数 \(k\)。 将连续两个数 \(a_i,a_{i + 1}\) 同时异或一个常数 \(k\)。 那么,你发现最坏情况下,操作次数是 \(n\)。那么考虑如何将多余步骤给减去。 发现,如果一个区间 \([l,r]\),\(\o 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(36) 评论(0) 推荐(0)
摘要: 思路 Part 1 这种题目应该能一眼看出是 DP。 我们令 \(dp_{i,j}\) 表示走到 \(j\) 这个位置,最后一步花了 \(i\) 的倍数。 那么,我们的方程就很好想了:\(dp_{i,j} = \sum_{k = 1}^{j - k \times i \geq 0}dp_{i - 1 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(41) 评论(0) 推荐(0)
摘要: 思路 由于题目中说这是一棵无根树,不太方便思考,于是,我们可以假装把这棵树看做有根树。 首先我们令 \(d_1,d_2,d_3\) 分别表示从根节点到节点 \(1,2,3\) 的长度(不算相交部分)。 那么我们可以得到下式: \[ \left\{\begin{matrix} d_{12} = d_1 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(41) 评论(0) 推荐(0)
摘要: 思路 这是一道极好的思维题,主要考察了:组合数学和正难则反的方法。 这题可以发现如果用直接法将十分的繁琐,于是乎,我们可以用正难则反的方法,即:总的减去不满足的。 这道题总的很好求,为:\(C_{r - l + 1}^{3}\)。 不满足的情况,我们就可以将题目转化为:\(\operatorname 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(43) 评论(0) 推荐(0)
摘要: 思路 因为我们枚举的直径是具备单调性的,所以可以使用二分答案。 我们可以想一个事情,如果有两个点 \(u\) 和 \(v\),它们两点之间的最短路径要么是直接从 \(u \to v\);要么是经过一个中转点 \(t\),即:\(u \to t \to v\)。 然后,我们可以发现一个显然的规律,就是 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(29) 评论(0) 推荐(0)
摘要: 题意 给定 \(n\) 个长度为 \(m\) 的数组,对于每一个数组选择下面任意一种操作进行若干次(操作二只能被一个数组选出)。 \(c_{t,i} - 1,c_{t,i - 1} + 1,c_{t,j} - 1,c_{t,j - 1} + 1\)。 \(c_{t,i} - 1,c_{t,i - 1 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(29) 评论(0) 推荐(0)
摘要: 思路 发现 \(2^k\) 大的数,最终的答案一定由前 \(k + 1\) 小的元素组成。 考虑数学归纳法,显然当 \(k = 1\) 成立。假令 \(k'\) 时成立,证明 \(k = k' + 1\) 时成立即可: 若第 \(k\) 位有两个及以上的 \(0\),显然最终答案的第 \(k\) 位 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(28) 评论(0) 推荐(0)
摘要: 思路 因为此题目中对于数的更新只能为 \(1\),所以,如果我们找到了 \([1,l - 1]\) 与 \([r + 1,n]\) 中能获得的两个极值即可。 我们为 \(S\) 赋予权值,用一个数组 \(a\) 储存: 如果 \(S_i\) 为 +,则其权值为 \(1\)。 否则其权值为 \(-1\ 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(23) 评论(0) 推荐(0)
摘要: 思路 本题为 P3146 变式,也算是一道很经典的区间 DP 题了。 因为 \(n \leq 500\),考虑区间 DP。定义 \(dp_{i,j}\) 表示操作 \([i,j]\) 区间剩余长度的最小值。 那么,我们可以枚举一个中间值 \(k\),可以显然地得到一个状态转移方程(即不能合二为一的情 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(47) 评论(0) 推荐(0)
摘要: CCF 出的原题观摩一下。 思路 首先可以用一个 Trie 来维护。 在这里对本文中的一些变量做一下说明。 \(p\) 表示当前维护的 Trie 中,指向的元素编号。 \(t_i\) 表示在 Trie 中编号为 \(i\) 的元素在原序列中的值。 \(f_i\) 表示在 Trie 中编号为 \(i\ 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(23) 评论(0) 推荐(0)
摘要: 思路 这是一道简单的 DP 题,DP 题的核心就是状态转移。 先来说一说 \(dp\) 数组的含义。 \(dp_{i,j}\) 表示从 \(i\) 这个点用 \(2 ^ j\) 条线段能走到的最远的点。 我们再来考虑一下边界情况。 因为我们只用 \(2 ^ 0\) 条线段,那么:\(dp_{i,0} 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(52) 评论(0) 推荐(0)
摘要: 思路 发现,如果相邻元素的奇偶性相同,那么一定能通过在较低的位置竖着放若干个如果在 \(i\) 的位置竖着放一块砖头,使得这两列的高度相同。 那么,我们想到直接考虑 \(h_i\) 的奇偶性,即将 \(h_i \leftarrow h_i \bmod 2\)。 如果 \(h_i = h_{i + 1 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(31) 评论(0) 推荐(0)
摘要: 思路 考虑用线段树维护区间信息: 价格在 \([l,r]\) 之间的 CPU 的数量。 购买所有价格在 \([l,r]\) 之间 CPU 所需的钱。 容易将区间修改转化为差分,从而实现单点修改。于是可以使用 \(n\) 个 vector 存储第 \(i\) 天所需进行的修改。 查询第 \(i\) 天 阅读全文
posted @ 2024-06-24 12:22 WBIKPS 阅读(36) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页