这是本文档旧的修订版!
AC 8题,Rank 49th
这个题赛场上是lpy通过基本图形组合的方式AC的。其实赛场上有想过另一种方法,可惜脑抽了以为有情况没有覆盖。之后才发现是正确解法。
首先问题等效于构造n个小方块拼接成一个周长为m的图边形。显然m为奇数,是不行的。我们如果用m周长,构造一个尽可能大的矩形($m/2/2,m/2-m/2/2$),这样,最少我们可以沿着对角线填,个数是长边的长度。最多可以填出一个面积。可以发现,这样的矩形所能达到的方块个数的范围,是比其他矩形只多不少的。而且很容易证明,在这个范围之外,是不可能的。
当然有个问题,$[m/2-m/2/2,m/2/2*(m/2-m/2/2)]$之间所有方块数目都能取到吗?其实是可以的,往对角线两侧紧密填充即可,注意不要让图形出现凹陷,这样周长会大于m。
by cmx