摘要: 思路 好像还没有人写三分,那我就来水一篇三分的题解。 我们可以选择三分平均高度,通过 check 函数得到对应的最小代价,我将在代码中给出详细的注释。 Code #include <cstdio> #include <iostream> #define int long long using nam 阅读全文
posted @ 2022-07-27 21:28 zhou_ziyi 阅读(33) 评论(0) 推荐(0)
摘要: 思路 很显然这是一道 dp。 定义状态 $dp_{i,j}$ 表示 i 到 j 吃到的最大蛋糕面积。 由于是一个环,所以我们需要开两倍的空间,将它转化为链。 注意开 long long。 Code #include <cstdio> #include <iostream> #include <cst 阅读全文
posted @ 2022-07-27 21:27 zhou_ziyi 阅读(50) 评论(0) 推荐(0)
摘要: 思路 求最小值,很有可能是二分,我们再看数据范围,就应该往这方面想。 其实这道题最坑的还是 check, 是真的不好想。 我们不难写出一个 $\Theta(n^2)$ 的 check。 bool check(int x) { int sum = 0; for (int i = 1; i <= n; 阅读全文
posted @ 2022-07-27 21:26 zhou_ziyi 阅读(30) 评论(0) 推荐(0)
摘要: 思路 看到这道题,我首先想到求到数组 $a$ 的和 $s1$,和数组 $b$ 的和 $s2$。 如果 $s1 > s2$, 那就不可能让两个数组完全相同。 但是样例就已经把这种方法否定了。 但是我们不难发现: 若 $a$ 数组中的这个值小于 $b$ 数组中的这个值,则增加 $a$ 数组中的数字。如果 阅读全文
posted @ 2022-07-27 21:25 zhou_ziyi 阅读(27) 评论(0) 推荐(0)
摘要: 思路 我们可以将这一个矩阵转化为一个一维数组。 之后输入的 n 个数中,有相同的,就打上标记。 由于矩阵是 3 * 3 的,所以我们可以用 $\Theta(1)$ 的时间复杂度进行判断。 Code #include <cstdio> const int MAXN = 15; int n; int a 阅读全文
posted @ 2022-07-27 21:24 zhou_ziyi 阅读(49) 评论(0) 推荐(0)
摘要: 思路 这只是一道普通的模拟题…… 这道题中无解的情况有两种: 不是一位数并且首位为 0。 每一位上为两个不同的值。 除此之外,我们要找到最小的 好数, 就应该把首位赋值为 1, 其余赋值为 0。 Code #include <cstdio> #include <cstring> using name 阅读全文
posted @ 2022-07-27 21:22 zhou_ziyi 阅读(25) 评论(0) 推荐(0)
摘要: 题目大意: 给出一个分数 $\frac{a}{b}$,分解为多个分子为 $1$ 的分数和。 要求分数的个数尽量的少,在数量相同的情况下保证最小的分数最大,且每个分数互不相同。 $ \frac{5}{29} = \frac{1}{6} + \frac{1}{174}$ 迭代加深搜索: 迭代加深搜索可以 阅读全文
posted @ 2022-07-27 21:21 zhou_ziyi 阅读(65) 评论(0) 推荐(0)
摘要: Solution Code 阅读全文
posted @ 2022-07-27 21:08 zhou_ziyi 阅读(11) 评论(0) 推荐(0)
摘要: Link 阅读全文
posted @ 2022-07-27 14:02 zhou_ziyi 阅读(20) 评论(0) 推荐(0)
摘要: 定义 阅读全文
posted @ 2022-07-27 14:01 zhou_ziyi 阅读(24) 评论(0) 推荐(0)