Atcoder 贪心杂题
[AGC008B] Contiguous Repainting
Problem
有
一开始,所有格子都是白色的。你可以任意次数重复以下操作:
- 选择连续的
K 个格子,将它们全部涂成白色或全部涂成黑色。在此过程中,每个格子的颜色会被覆盖。
操作结束后,所有黑色格子上所写整数的总和即为得分。请你求出可能得到的最大得分。
Solution
考虑最后一次操作,一定会将一段长为 k 的区间变成白色或黑色。但是其余的操作,可以将其他的任何一个地方变成任意一种颜色。
枚举即可。
[AGC008C] Tetromino Tiling
Problem
由
すぬけ君分别拥有
- 每个俄罗斯方块可以旋转,但不能翻转。
- 矩形的每个格子恰好被一个俄罗斯方块覆盖。
- 不能有俄罗斯方块放在矩形外部。
すぬけ君想要拼出尽可能大的矩形。请你求出
Solution
T、S、Z 三种形状不能选(拼不出来) ,单独的 O 肯定可行,每两个 I、J、L 也行,I+J+L 也行。
- 如果 I、J、L 都为奇数,肯定可以拼出一个 I+J+L
- 如果只有两个为奇数,可以把偶数的那个拆开一个,拼 I+J+L 答案更优
- 如果只有一个,那就不管了
[AGC008D] K-th K
Problem
给定一个长度为
-
- 对于每个
1 \leq i \leq N ,在a 中所有等于i 的元素中,从左往右数第i 个i ,它在整个a 中的位置恰好是从左往右数的第x_i 个位置。
Solution
注意到
能确定位置的先填,然后从前往后按照
[AGC029D] Grid game
Problem
高桥君和青木君使用一个
游戏由高桥君先手,二人轮流进行以下两种操作之一:
- 将棋子移动到相邻的格子。假设棋子当前在
(x, y) ,高桥君只能将棋子移动到(x+1, y) ,青木君只能将棋子移动到(x, y+1) 。如果没有可以移动的格子,或者目标格子上有障碍物,则不能进行此操作。 - 不移动棋子,直接结束本回合,保持格子状态不变。
如果连续两回合都没有移动棋子,游戏立即结束。
高桥君希望让游戏持续尽可能多的回合(包括选择不移动棋子的回合),而青木君则希望让游戏尽快结束。请你求出在双方都采取最优策略的情况下,高桥君能够进行的回合数。
Solution
高桥君能动就动,青木君希望尽可能快的走到障碍物上方。不难发现,对于每一个