摘要: 因为题意是由后面复制到前面,那我们就从后往前考虑, 假设最后数组中全是 $x$, 因为最后一个数没有其他数能复制到它,所以 $x = a[n]$, 那我们做如下操作: 每次我们就找到末尾最长的全为 $a[n]$ 的串,设其长度为 $k$, 然后选 $n - 2k + 1 \sim n$,即将 $n 阅读全文
posted @ 2022-02-04 15:02 wangzhongyuan 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 显然,每个 $i$ 最多交换一次, 且 $\max (max (a_1,a_2,\cdots,a_n),max (b_1,b_2,\cdots,b_n))$ 是不变的, 有对称性,不妨设两数中的最大值为 $b_i$ 中的最大值, 所以我们就让 $a_i$ 中的最大值越小越好,也就是让每个数尽量小, 阅读全文
posted @ 2022-02-04 14:41 wangzhongyuan 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 思路分析 首先我们设 $c(i)$ 为在 $i$ 的二进制表示下,按位取反的结果, 例如:$c(50) = c((110010)_2) = (001101)_2 = 13$, 显然 $c(i) = (n - 1) - i$, 因为 $c(i)$ 是 $i$ 按位取反的结果,所以 $c(i) \& i 阅读全文
posted @ 2022-01-28 12:02 wangzhongyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 回顾 首先我们先回顾一下简单版: 设 $dp[i][j]$ 表示 $i$ 次操作,至少有 $j$ 次要加 $t$ 首先加一下初始化: $dp[i][0] = 0$,即当要加 $0$ 次时,Bob 一定会狂减,那 Alice 每次选 $0$ 最优 $dp[i][i] = i \times k$,即 B 阅读全文
posted @ 2022-01-27 22:11 wangzhongyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 设 $dp[i][j]$ 表示 $i$ 次操作,至少有 $j$ 次要加 $t$ 首先加一下初始化: $dp[i][0] = 0$,即当要加 $0$ 次时,Bob 一定会狂减,那 Alice 每次选 $0$ 最优 $dp[i][i] = i \times k$,即 Bob 要全加,那 Alice 每次 阅读全文
posted @ 2022-01-27 16:19 wangzhongyuan 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 考虑二分答案: $f_i$ 表示完成前 $i$ 个后的最少耗时,就有转移式: $$f[i] = \max(f[j]) + a[i], i - mid\leq j \leq i-1$$ 最后检查 $f[n]$ 是否 $\leq t$ 就行了 直接做 $O(n^2)$,优化: 线段树 $O(n log_ 阅读全文
posted @ 2022-01-25 16:12 wangzhongyuan 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下这道题: 其实是要把 $1$ 都放在 后面,$0$ 都放在前面。 具体一点,假设 $1$ 的个数为 $k$ 个,字符串长度为 $len$, 那么我们要将 $1$ 放在 $len - k + 1$ 到 $len$,将 $0$ 放在 $1$ 到 $len - k$,分两种情况: $len - 阅读全文
posted @ 2021-11-18 13:48 wangzhongyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下这道题: 首先我们令 $k = \left\vert a_1 + a_3 - 2 \times a_2\right\vert$, 因为 $a_1$ 与 $a_3$ 是等价的, 所以操作 $a_1$ 和 $a_3$ 的结果不会改变,以及操作 $a_1$ 和 $a_2$ 与操作 $a_3$ 阅读全文
posted @ 2021-11-14 09:11 wangzhongyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 看到题第一眼,感觉是字符串,但其实是动规 设 $dp_i$ 代表处理到前 $i$ 的最小代价,转移分两种情况: 花费 $a$ 的价值处理第 $i$ 个字符,则是 $dp_{i - 1} + a$ 的代价。 花费 $b$ 的代价处理 $i$ 到 $i - k + 1$ 的字符,假定 $i$ 到 $i 阅读全文
posted @ 2021-11-13 22:48 wangzhongyuan 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下此题: 看到最大值最小,很容易想到二分答案,设二分的值为 $x$ 再设 $sum_i$ 是 $i$ 的子树中 $a_j$ 的和,$l_i$ 表示 $i$ 的子树中叶子结点的个数, 那么我们假设在点 $u$ 上,且 $u$ 的子树除了 $u$ 以外全部分配完成,那么 $u$ 上的人肯定会优 阅读全文
posted @ 2021-10-14 22:56 wangzhongyuan 阅读(2) 评论(0) 推荐(0) 编辑