摘要:
思路 因为石头的数量太多的不好维护,于是我们转化参照物,直接看作人在动。 那么,人向下走相当于向下走两步,向上走相当于不走,向右走相当于向右下走。 然后直接暴力 BFS 一下,算出走到最后一列的时间,然后将终点按照时间找到转化参照物后的位置,取最小值即可。 Code #include <bits/s 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(27)
评论(0)
推荐(0)
摘要:
非常(断句)好暴力。。。 题意 有一个 \(7 \times 7\) 个网格,每一个格子上都有两种颜色,一种是 B,一种是 W。 现在你可以让一个格子上的颜色经行反转(即 B 变为 W 或 W 变为 B),使得网格上没有一个 X 形的图形的颜色都是 B。 思路 首先通过瞪眼法可以发现答案最多为 \( 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(34)
评论(0)
推荐(0)
摘要:
思路 首先有一个显然结论:如果我们将所有叶子节点全部遍历过了,那么整棵树都将被遍历。 于是我们只需要考虑叶子节点之间的关系。再其次,我们发现同一棵子树内的叶子节点一定是被连续遍历的。 考虑将 \(k\) 赋值为 \(k + 1\),那么最终我们是需要直接返回根节点的。 显然,当我们访问完一棵子树后, 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(35)
评论(0)
推荐(0)
摘要:
思路 首先,你显然可以用 \(3n\) 次操作求出 \(a_1\) 和 \(x\)。同时整个序列可以按照值分为小于 \(a_1\) 和大于 \(a_1\) 两部分。 考虑分别处理这两个部分。你希望还可以通过分治的方法,将一个部分再分为一个部分。 但是,由于数据的不随机性,我们不能单纯的选取一个部分的 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(23)
评论(0)
推荐(0)
摘要:
拜谢 ssxvngn。 思路 对于 \(\gcd(a_i,a_j)\) 的贡献次数为:\(\sum_{k = j + 1}^{n}[a_k \geq \max(a_i,a_j)]\)。 因为原式本质是取序列中任意三个元素 \(a,b,c\) 做 \(f\) 函数,因此与数组是否有序无关,考虑先排序。 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(30)
评论(0)
推荐(0)
摘要:
思路 比较典的一个题。 把一棵树的 DFS 序剖下来过后再同一棵子树内的节点编号是连续的。 那么,我们查询 \((l,r,x)\) 时,问题就可以转化为在 \(p_{l \sim r}\) 中是否出现过 \(lid_x \sim rid_x\) 中的数,其中 \(lid_i\) 表示 \(i\) 所 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(18)
评论(0)
推荐(0)
摘要:
思路 比较诈骗的一个题。 首先如果我们先让这棵树形成一条链,那么,这棵树中有效的路径只有从 \(1\) 到 \(n\) 的路径,且长度为 \(n - 1\)。 发现如果每次将 \(n\) 号点移动,非常方便,如果要构造长度为 \(x\),只需将 \(n\) 连向与 \(1\) 距离为 \(x - 1 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(22)
评论(0)
推荐(0)
摘要:
思路 暴力化简公式题。 假定 \(b_{i}^{b_j} = b_{j}^{b_{i}}\) 成立,那么有: \[ 2^{a_i \times 2^{a_j}} = 2^{a_j \times 2^{a_i}}\\ a_i \times 2^{a_j} = a_j \times 2^{a_i}\\ 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(16)
评论(0)
推荐(0)
摘要:
思路 令 \(s_{l,r}\) 表示 \(\sum_{i = l}^{r}{a_i}\),那么考虑如下的情况: \(a_l = 2\),则有 \(s_{l + 1,r} = s_{l,r} - 2\)。 \(a_r = 2\),则有 \(s_{l,r - 1} = s_{l,r} - 2\)。 \ 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(33)
评论(0)
推荐(0)
摘要:
思路 首先可以转化一下题意,发现对于一个好的数对 \((i,j)\) 成立,一定满足无法在 \(a\) 中找到一个 \(a_k\) 为 \(\gcd(i,j)\) 的因子。 不妨设 \(dp_i\) 表示满足 \(\gcd(a_p,a_q) = i\) 的数对数量,\(num_i\) 表示 \(i\ 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(21)
评论(0)
推荐(0)
摘要:
思路 假设最后最大值的位置为 \(x\),最小值的位置为 \(y\)。 那么将所有满足 \(l_i \leq y \leq r_i\) 的线段选出来一定不优。 因为如果 \(x < l_i \vee x > r_i\) 会使答案减 \(1\);如果 \(l_i \leq x \leq r_i\) 会 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(25)
评论(0)
推荐(0)
摘要:
思路 首先对于一个二进制数,如果它能被 \(2^i\) 整除,一定满足在此数中所有的 \(1\) 都在 \(i\) 或 \(i\) 的左边。 那么对于所有在 \(i\) 右边的 \(1\),都应该到 \(i\) 的左边。考虑用 vector 维护所有在 \(i\) 左边的 \(0\) 的位置。 显然 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(21)
评论(0)
推荐(0)
摘要:
思路 发现如果一个字符串中有长度大于等于 \(2\) 回文子串,必定有长度为 \(2\) 的回文子串或长度为 \(3\) 的回文子串,并且形如:aa 和 aba。 所以考虑用线段树这两种情况。维护一段区间的最左、次左、最右、次右的元素,同时用两个标记变量 \(f_1,f_2\) 分别表示这个区间中是 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(43)
评论(0)
推荐(0)
摘要:
CF 是没题考了吧,每场都出二进制拆位。 思路 首先我们可以二分 \(r\),因为 \(r\) 越大,按位与一定只会小于等于 \(r\) 小的情况。 那么,我们可以用 \(num_{i,j}\) 记录 \(a_j\) 第 \(i\) 位的二进制情况。 如果我们对 \(num_{i,j}\) 做一个前 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(30)
评论(0)
推荐(0)
摘要:
思路 观察到 \(a_i,b_i \leq n\),又要求 \(a_i \times a_j = b_i + b_j\) 的数量,那么显然有 \(a_i \times a_j = b_i + b_j \leq 2n\)。 并且显然有 \(a_i\) 和 \(a_j\) 其中一个一定小于 \(\sqr 阅读全文
posted @ 2024-06-25 12:29
WBIKPS
阅读(27)
评论(0)
推荐(0)

浙公网安备 33010602011771号