1 条题解
-
0
20pt
枚举每一盏灯的耗电量,然后按照公式计算每一个格子的亮度是否符合要求。
70pt
枚举三盏灯的耗电量,计算出此时每个格子的亮度,算出每个格子当前亮度与需求亮度的差值,这个差值由第四盏灯来填补。即枚举好三盏灯之后,我们可以 O(1) 算出第四盏灯的最低耗电量。
100pt
本题显然具有二分性,考虑二分答案。假设总共有 的耗电量可以分配给四盏灯,我们考虑如何分配: 枚举对角线的两盏灯的耗电量,假设枚举的是左上角 和右下角 。那么我们可以发现,右上角这个格子当前亮度为 $\lfloor \frac a 2 \rfloor + \lfloor \frac b 2 \rfloor$,左下角的格子的亮度也一样。我们可以算出这两个格子的亮度与需求的差值,再将 的耗电量分配给这两盏灯。
一种减少写代码细节的小技巧是:算出左下角格子的大致耗电量,然后用 for 循环在估计值的附近枚举即可,这样就不需要判断边界条件了。
- 1
信息
- ID
- 1659
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 60
- 已通过
- 1
- 上传者