贪心
https://codeforces.com/contest/2064/problem/B 题目大意 给出 $n$ 长的不含 $0$ 的数组 $a$。定义一个数组的权值为其长度减去不重复元素个数。 可以最多删除数组中连续的一个非空子段。问怎样删可以使得权值最大。不删最好时返回 $0$,否则返回删除的区间端点。多个
…
https://codeforces.com/contest/2064/problem/C 题目大意 给出 $n$ 长的不含 $0$ 的数组 $a$。每次可以选择当前一个正数 $a_i$ 将其加到答案,并将数组的 $i$ 结束的前缀删掉,或者选择某个负数 $a_i$ 将 $- a_i$ 加到答案,并将 $i$ 开始的后缀删掉。问可以得到的最大答案是多少。 $1 \le n \le
…
https://codeforces.com/contest/2064/problem/D 题目大意 给出一个 $n$ 长的数组 $a$,和 $q$ 个独立询问(每次询问结束恢复 $a$)。对于某个询问,给出 $x$,然后如果 $x$ 不小于 $a$ 最后的元素 $a_{last}$ 则把 $x$ 变为 $x \ xor a_{last}$ 并删掉 $a_{last}$,问这个操作能进行几次
…
https://codeforces.com/contest/1107/problem/C 题目大意 给出 $n$ 长的小写字符的串 $S$ 和数组 $a$。给出某个 $k$,需要删掉字符串中的某些字符,使得最终串连续的相同字符个数不会超过 $k$。问最后保留下的字符的下标对应的 $a_i$ 的和最大是多少。 $1 \le k \le n \le 2 \times
…
https://codeforces.com/contest/1107/problem/E 题目大意 给出一个 $n$ 长的 $01$ 串 $S$ 和数组 $a$。每次操作可以从中删除一个连续的,相同字符的段,并把剩余的段按顺序连起来。每次删掉 $len$ 长的段的收益为 $a_{len}$,问最大收益是多少。 $1 \le n \le 100$。$1
…
https://codeforces.com/contest/571/problem/B 题目大意 给出 $n$ 长的数组 $a$,及某数 $k$,可以任意调整 $a$ 中元素位置,需要最小化 $$ \sum_{i = 1}^{n - k} |a[i] - a[i + k]| $$ 。 问这个最小值是多少。 $2 \le n \le 3 \times 10^5$。$1 \le \min(5000, n - 1)$。$-10^9 \le a[i] \le 10^9$
…
https://codeforces.com/contest/520/problem/D 题目大意 给出 $n$ 个立方体(其实可能叫正方形更好,因为其实只需要考虑 $2$ 维),考虑 $OX$ 是地面,$OY$ 是向上的方向。每个立方体用 $(x, y)$ 表示其位置。定义某个立方体是稳定的当且仅当: 立方体在地面上($x = 0$) 其
…
https://codeforces.com/contest/1183/problem/F 题目大意 给出 $n$ 个数最多选出其中 $3$ 个,使得选出的数两两之间不是整数倍,问选出的和最大是多少。 $1 \le n \le 2 \times 10^5$。$2 \le a_i \le 2 \times 10^5$。 简要题解 复杂度 $T$:$O()$ $S$:$O()$ 代码实现
…
https://codeforces.com/contest/1389/problem/B 题目大意 给出 $n$ 长的数组 $a$,可以用下述操作走 $k$ 步,其中最多 $z$ 步向左,问最大可以取到的权值。 每次操作可以进行两种中的一种: 向右走。现在在 $x$ 且 $x < n$,权值增加 $a[x + 1]$ 之后走到 $x + 1$。 向左走。现在在 $x$
…
https://codeforces.com/contest/2059/problem/C 题目大意 给出 $n$ 个 $n$ 长的数组 $a_i$。进行如下操作 $n$ 轮,在第 $i$ 轮,选择某个 $j$,使得 $a_{j,k} = 0 \ (k \le i)$。即把某选择的行的开始一段小于 $i$ 的元素刷成 $0$。 $n$ 轮进行完之后设 $b_i = \sum a_{i, j}$,则问可以任选
…
https://codeforces.com/contest/2059/problem/B 题目大意 给出 $n$ 长的数组 $a$。给出偶数 $k$,要求将 $a$ 分为连续的 $k$ 个非空子段。将第偶数段($1$-based)按照原来的顺序链接起来并在结尾追加一个 $1$。定义这个新数组 $b$ 的分值为,最小的下标 $i$ 使得
…
https://codeforces.com/contest/1156/problem/C 题目大意 给出 $n$ 个数的数组 $x$ 以及一个数字 $z$,要求找出 $x$ 中尽量多的不相交的对子,使得每对满足 $|x_i - x_j| \ge z$。 $2 \le n \le 2 \times 10^5$。$1 \le z, x_i \le 10^9$。 简要题解 显然答案是可以二分的。下面就来思考如
…
https://codeforces.com/contest/903/problem/B 题目大意 一个回合制游戏,主角血量是 $h_1$ 攻击力 $a_1$ 有无限多的药,每次可以恢复 $c_1$ 的血量(恢复可以超出 $h_1$)。有怪物血量 $h_2$ 攻击力 $a_2$。每个回合: 主角选择攻击或恢复,攻击则 $h_2$ 减少 $a_1$ 否则 $h_1$ 增加 $c_1
…
https://codeforces.com/contest/1487/problem/E 题目大意 给出 $4$ 个数组分别长 $n_i$。要求各从中选取一个元素,使得选出的和最小,问这个最小和是多少。有一些第 $1, 2$ 数组之间,$2, 3$ 数组 $3, 4$ 数组之间的下标的组是互斥的,各有 $m_i$ 个,互斥的下标不能同时选。
…
https://codeforces.com/contest/903/problem/C 题目大意 给出 $n \ (\le 5000)$ 个数的数组 $a$ 其中 $1 \le a_i \le 10^9$。问最少可以把它分成多少个集合,使得每个集合都可以重排成一个严格单调递增的链。 简要题解 显然同样数值的数必然属于不同的链,因此最少不少于最大频率 $
…
https://codeforces.com/contest/1574/problem/C 题目大意 给出 $n \ (2 \le n \le 2 \times 10^5)$ 长的数组 $a$ 其中 $1 \le a_i \le 10^{12}$。 给出 $m \ (\le 2 \times 10^5)$ 个询问,每组询问给出 $x \ (1 \le x \le 10^{12}), y \ (1 \le y \le 10^{18})$,问至少需要多少次给某数 $+1$ 的操作才能使,数组选出
…
https://codeforces.com/contest/985/problem/A 题目大意 给出 $1 \times n$ 的棋盘且 $n \ (\le 100)$ 为偶数。棋盘格为黑白相间的。给出 $n / 2$ 个棋子的位置,问最小的移动步数使得棋子都在同色格子中。棋子不能占据同样的格或相互跨越,给出最小的移动步数。 简要题解 因为无论移动
…
https://codeforces.com/contest/985/problem/D 题目大意 输出最小的序列 $h$ 的长度 $l$,满足 $h_i \ge 0$ $h_0 \le H$ $h_{l - 1} = 1$ $\sum h = n$ $|h_i - h_{i - 1}| \le 1$ 其中 $1 \le n, H \le 10^{18}$。 简要题解 因为我们想要序列尽量短,因此我们想每个 $h_i$ 尽量大。如果没有 $h$ 的限制,会是这
…
https://codeforces.com/contest/985/problem/E 题目大意 给出 $n \ (\le 5 \times 10^5)$ 根铅笔,要求放入 $k \ (1 \le k \le n)$ 个盒子。每只铅笔有一个属性 $a_i \ (1 \le a_i \le 10^9)$。 要求盒子要么为空,要么有至少 $k$ 只铅笔,且在同一盒子中的任意一对 $a_i, a_j$ 满足 $|a_i - a_j| \le d$ 其中 $0 \le d \le
…
https://codeforces.com/contest/1511/problem/D 题目大意 用少于 $k \ (1 \le k \le 26)$ 的字符集,构造一个 $n \ (\le 2 \times 10^5)$ 长的串。使得 $$ \sum_i \sum_{j = i + 1}^{n - 1} [s[i, i + 1] = s[j, j + 1]] $$ 尽量小。 简要题解 假设原串中每种 $2$ 长字符串 $ab$ 出现频率为 $c_{ab}$ 则题目实际上就是要求 $$ \sum c_{ab} * (c_{ab} - 1) /
…