分类: 题解

62 篇文章

P7883 平面最近点对(加强加强版) 题解
题意 题目链接。 给定 $n$ 个二维欧几里得平面上的点 $p_1, p_2, \dots, p_n$,请输出距离最近的两个点的距离。 解析 在这题下给一篇正经的分治做法,已有的分治做法是用 vector 实现的,可能对于部分同学来说代码实现不便。其他题解都是非分治的。 我们将所有点按照 $x$ 坐标排序后标号为 $1,2,\dots n$,记 $…
SP10050 POWTOW – Power Tower City 题解
题意 题目链接。 洛谷这题的评测似乎炸掉了,这里有 Znloye 提供的临时测试点。 求 $a^{a^{a^{\dots}}}(b\ 个\ a)$ 的末 $9$ 位数,$t$ 组数据。 解析 保留末 $9$ 位数等价于对于 $10^9$ 取模,再补全前边的 $0$ 即可。 而对于这种 Power Tower,一种常用的方法是使用扩展欧拉定理,再在快…
P1477 [NOI2008] 假面舞会 题解
题目链接。 发现题解区说大多都是直接说再连一条边权为 $-1$ 的边,在这里略微证明一下正确性。​ 解析 首先发现若图中没有环,最大答案为所有联通块的最长链长度之和,最小答案为 $3$。 若存在环,则最大答案为所有环的 $\gcd$​​。为了在可接受的时间内找到所有环,我们对于每一条边的 $u\rightarrow v$​​,从 $u$​​ 向 $…
CF1557D Ezzat and Grid 题解
题意 题目链接。 给定 $n$ 行 01 串,其中有 $m$ 个区间为 $1$​。删除若干 01 串使剩余串美丽,若干条 01 串美丽当且仅当任意相邻两个 01 串至少有相同的一位均为 $1$。 $n,m\le 3\times10^5$。 解析 考虑记 $f_i$ 为以第 $i$ 串结尾的最长美丽串的长度。发现 $f_i=f_j+1,j\in[1,…
P6902 [ICPC2014 WF]Surveillance 题解
题意 题目链接。 给定一个长度为 $n$ 的环,有 $k$ 个区域被覆盖,求最小的满足环被完全覆盖的区域数量。 解析 先考虑如果是链的话就是一个朴素的贪心:每次在所有左端点不大于当前位置的点中选取一个右端点最大的跳过去。对于环,容易想到将其断开,在其后面复制一份即可。 问题转化为了一个长度为 $2n$ 的链,求最少数量的区域使其能够覆盖长度至少为 …
CF1555D Say No to Palindromes 题解
题目链接。 解析 考虑最终序列。由于序列较长,先考虑序列短小的情况,即长度为 $3$ 时。 对于一个长度为 $3$ 的序列 $S_{1,2,3}$,要使其不存在回文串,需要满足 $S_1\neq S_2,S_2\neq S_3,S_1\neq S_3$,你发现这三个字母必须是互不相同的,由于字符串仅由三种字母组成,最终序列的前三个字母一定是以下六种…
CF1552F Telepanting 题解
题意 题目链接。 数轴上有若干传送门,初始是关闭或开启。对于关闭的传送门,经过后就会开启;对于开启的传送门,到达后会被传送到一个位置,然后会关闭。求从 $0$ 点走到 $x_n+1$,即最后一个传送门右边一格的所需时间。 解析 首先离散化。然后记 $f_i$ 为被在 $i$ 点的传送门传走再走回到 $i$ 点的时间。若该位置没有传送门,则记 $f_…
LOJ#6631. 「EC Final 2018」异国情调的……古城 / Exotic … Ancient City 题解
题意 题目链接。 有 $n$​ 行 $m+1$​ 列格点,第 $1$​ 列和第 $2$​ 列格点之间有 $e$ 条边,第 $i$ 条边的边权为 $c_i$,保证联通。第 $i$ 与 $i+1$ 列中的边是由第 $1$ 列和第 $2$ 列的边复制得到的。对于前 $i$ 列($2 \le i \le m+1$),求对于前 $i$ 列的点与端点都在前 $…
P4653 [CEOI2017]Sure Bet 题解
题意 题目链接。 有两组物品,每个物品都有一定的价值,你需要选择若干个物品,收益为两组物品中价值和较少的那组物品的价值和减去所选取的所有物品数。使收益最大化。 解析 发现肯定优先选择价值高的物品。 发现如果已经选择了若干个物品,接下来那个物品只有选择当前总价值低的那一组才有可能有更优解。 由上,本题可以用双指针解决。对于两组物品分别用一个指针维护,…
CF1065F Up and Down the Tree 题解
题意 题目链接。 给出一颗树,走到叶子节点后可以回到它的第 $k$ 祖先,求最多可以访问多少叶子节点。 解析 定义 $f_{i}$ 为从 $i$ 节点开始走,最后走回到 $i$ 节点的贡献,$g_i$ 为从 $i$ 节点开始走,最后不用回到 $i$ 节点的最大贡献。 先预处理出从每个点开始走可以回到的最高点,对于叶子节点,初始先将其贡献打到其第 $…