CF2122-总结
Last Update:
Word Count:
Read Time:
Page View: loading...
CF2122-总结
A
翻译
在一个 down/right
的,当且仅当这条路径从左上角格子开始,且其中的每一步要么向右一格,要么向下一格。称一条路径是 greedy
的,当且仅当这条路径满足以下条件:
- 这条路径是
down/right
路径 - 如果当前格子右边的数比下边的大,那么一定向右。如果当前格子下边的数比右边的大,那么一定向下。(若有一边没有格子或两侧相等,则无限制。)
定义一条路径的权值是其经过的所有格子上的数的总和。对于给定的 greedy
的路径都不是权值最大的 down/right
路径。
题解
容易发现 greedy
路径一定是权值最大的。这些情况下答案是 NO
。
对于
更大的情况是类似的。答案一定是 YES
。
1 |
|
B
翻译
给定 piles
。第 pile
从上到下由 0
和 1
组成。一次操作是从某个 pile
的最上方取走一个数,将其插入任意一个 pile
的任意位置。
给定 0
和 1
组成。求最少使用多少次操作。
题解
若某一个 pile
需要移走若干个 1
,则这些 1
上面的 0
必须先全部被移走。若某一 pile
中 0
移走。样例提醒我们我们可以往本堆的下面放来把一些 1
暴露在最上面,这样可以把这些多余的 1
移给别的缺少的堆的。这样做需要
如果某一 pile
中 0
移走。不同的是,我们只将后 pile
中
发现每一个下界都能达到。直接统计即可。
1 |
|
C
翻译
给定
题解
考虑按
因此,左边的点一定和右边的某个点匹配。所以
不妨考虑
1 |
|
D
翻译
给定一个 token
第 1
号节点。在第 token
在
- 在原地等待
秒。 - 花费
时间通过 节点的第 条边。
其中,
题解
猜测最小所需时间的最大值不会很多,因为如果一个节点的度数很小,那么无论往哪走等待时间都很小。如果一个节点的度数很大,那么虽然我们在这个节点可能要等很久,但是我们可以选择的节点数量也很多。可以证明所需时间的最小值是
1 |
|
E
题意
在一个 down/right
的,当且仅当这条路径从左上角格子开始,且其中的每一步要么向右一格,要么向下一格。称一条路径是 greedy
的,当且仅当这条路径满足以下条件:
- 这条路径是
down/right
路径 - 如果当前格子右边的数比下边的大,那么一定向右。如果当前格子下边的数比右边的大,那么一定向下。(若有一边没有格子或两侧相等,则无限制。)
定义一条路径的权值是其经过的所有格子上的数的总和。给定一个 -1
表示)。求有多少种方式填充满这一网格,且对于每个子矩形,必定有一条 greedy
的路径的权值是所有 down/right
的路径中权值最大的。
题解
以下称 对于每个子矩形,必定有一条 greedy
的路径的权值是所有 down/right
的路径中权值最大的 为限制 A
。
A
一定满足。不妨假设我们从某个 greedy
的路径是确定的,也就是先向下然后一直向右。这启发我们将所有限制在所有满足 -1
,需要在最后的答案中乘上一个
此时我们的限制变成了这样的形式:对于所有
进行动态规划的尝试。我们可以设计一个状态 -1
的情况即可做到
1 |
|
F
题意
给定
多边形可以按照顺时针方向或逆时针方向给出。各坐标必须是
题解
看到这个
“很容易”想到在一边上放
证明可以考虑下面最右的节点包含在哪个三角剖分内,然后列出递推式,发现等同于组合数。
考虑如何合并多个这样的多边形。想到通过构造让三角剖分除这些多边形外的部分都是确定的,而这些多边形的部分互相独立。可以这样构造:
因此,可以把若干个组合数形式的
记
观察到
1 |
|