随笔分类 - 题解
摘要:思路 我们定义 为选取前 个人所得到的最大的价值。 那么,我们能得出一个很简单的状态转移方程: \[ dp_i = \max(dp_j + a \times (\sum_{k = j + 1}^{i}x_i)^2 + b \times (\sum_{k = j + 1}
阅读全文
摘要:题意 给定一个无向图,问最少在几个点上设置出口,可以使得不管其他哪个点坍塌,其余所有点都可以与某个出口相连。 思路 对于这道题,我们有以下几个技巧: 对于每一个连通块出口数量必须大于等于 。 因为,如果出口数量为 ,那么,如果刚好在出口坍塌了,就出不去了。 分别看每一个连通块。
阅读全文
摘要:思路 我们定义 表示运输前 个工厂,且在第 个位置建立仓库所消耗的最小代价。 那么,我们可以得出状态转移方程: \[ dp_i = \min(dp_j + x_i \times (\sum_{k = j + 1}^{i}p_k) - \sum_{k = j
阅读全文
摘要:题意 给定一个 表示有 个字符串 ,并且有一个字符串集合 。( 和 都是未知的) 你需要将 分为若干段,使得每一段都不是 中任意一个字符串的子串。 你可以通过询问至多 次,形如 ? i j。 它将
阅读全文
摘要:题意 给定一个 个节点的树,树上的每一个节点都有一个点权,每一条边都有一条边权。 现在你可以在树上任意选定一个起点出发,经过一些节点后返回该节点。 求此过程中的最大价值。(其中,价值为点权之和减去边权之和) 思路 树形 DP,定义 表示以 为起点所能得到的最
阅读全文
摘要:题意 给定一个长度为 的序列 ,可以循环左移 位,得到新的序列。 求在所有循环左移得到的 个序列中,有多少个序列满足前 个元素的和为非负数。(其中 ) 注:循环左移 位表示将原序列变为 \(a
阅读全文
摘要:题意 给定一个 个点 条边的无向图,表示城市的道路状态,有 个出口。 小偷的车位于点 , 是警车位置,警车最高时速是 ,小偷和警车同时出发。 求小偷能安全到达某个高速路口而不被警察抓到的最高速度的最小值。 被抓到表示在某条道路或者
阅读全文
摘要:题意 给定一个 的字符矩阵 。 在矩阵中有两个集合,每个集合的边界是 X(特别的,每个集合有一个点是 A 或 B)。 这两个集合组成了一个维恩图,现在求两个集合的补集,以及并集。(也就是 . 的数量) 注意: 保证了两个集合的两个交点一定是形如下图的: 保证了
阅读全文
摘要:题意 给定一个数 ,以及 种不同面值的钞票 。(其中 可能是一个小数,但是 一定是整数) 你可以将 除以 ,得到新的面值。 如果你能通过这种方式,能够凑出 ,输出 yes,否则输出 no。 思路 首先
阅读全文
摘要:思路 首先先把原式中的 化出来: \[C(i,j) \bmod j = \frac{A^i_j}{j} \bmod j = \frac{i(i - 1)\cdots(i - j + 1)}{j} \bmod j = ((j - 1)! \times \lfloor \frac{
阅读全文
摘要:思路 因为石头的数量太多的不好维护,于是我们转化参照物,直接看作人在动。 那么,人向下走相当于向下走两步,向上走相当于不走,向右走相当于向右下走。 然后直接暴力 BFS 一下,算出走到最后一列的时间,然后将终点按照时间找到转化参照物后的位置,取最小值即可。 Code #include <bits/s
阅读全文
摘要:非常(断句)好暴力。。。 题意 有一个 个网格,每一个格子上都有两种颜色,一种是 B,一种是 W。 现在你可以让一个格子上的颜色经行反转(即 B 变为 W 或 W 变为 B),使得网格上没有一个 X 形的图形的颜色都是 B。 思路 首先通过瞪眼法可以发现答案最多为 \(
阅读全文
摘要:思路 首先有一个显然结论:如果我们将所有叶子节点全部遍历过了,那么整棵树都将被遍历。 于是我们只需要考虑叶子节点之间的关系。再其次,我们发现同一棵子树内的叶子节点一定是被连续遍历的。 考虑将 赋值为 ,那么最终我们是需要直接返回根节点的。 显然,当我们访问完一棵子树后,
阅读全文