P10509 停车场 题解
停车场证明
不难发现最优方案的空地一定呈若干条从出口向外延伸的路径,称一段上下延伸或左右延伸的路径为道路。
对于一段道路而言,宽度一定为
以下红色代表车位,白色代表空地。
定义:拐角、丁字路口、道路末端,分别如下图所示。
证明答案上界
对于每个空地而言,它旁边可能有零到四个车位。
对于一条道路而言,中间每个空地旁边都有两个车位。不妨假定答案上界为每个空地都与旁边的两个车位对应,也就是每三个位置就有两个是车位。
这样会出现一个疑问,道路末端的空地若不在边界会与三个车位对应,可能会超过设定的上界。
考虑道路的产生条件。若没有丁字路口,全图就只有一个路径,最多只能产生一个道路末端,这样是不影响的。而每增加一个道路末端,就等价于增加了一条支路,也就是多了一个丁字路口。而丁字路口最多只能与一个车位相邻,就抵消了道路末端的贡献。
由此得出空地下界
更精确的答案上界
以上情况是理想情况,即为一个空地能与两个车位相邻,但是实际上达不到。
如果一条道路没有分叉且没有改变方向,则这条道路及两侧相邻车位最多只能覆盖
所以有一个更精切的空地下界
答案上界
定义路块为一段道路及其两侧相邻的车位。若道路长度为
对于任意两个路块,应该没有相交的部分;如果相交了,则一个格子与两个空地相邻,一定是不优的。
若不要求各个路块中道路连通,则对原地图进行宽度为
要求的
定义不饱和度为连接两个路块造成的车位损耗,也就是增加一个不饱和度等价于减少一个车位。
以下图的车位分别用红色和蓝色表示不同路块的车位,黑色为不考虑的部分,左为连接前右为连接后。
拐角如下:
丁字路口如下:
相邻同向如下:
拐角产生的空地如果要消去,需要另外两个方向拼上道路,这样会产生更多的不饱和度,一定不优。之前讨论的道路末尾,如果末尾独占一个位置,则若不覆盖会至少把一个路块分割为两部分,一定不优,
相邻的不同向路块连接可以形成拐角及丁字路口,不饱和度都只有
这样没有被路块覆盖的格子应恰好只有一个。若有更多的未覆盖格子,则填上一个路块一定比不填要优。证明为填上一个
这里相邻的同向路块连接可以通过移动边界处车位来做到
要连接所有的路块,不饱和度至少为路块总数减一。
问题转化为用宽度为
因为
因为
又因为在分组中我们把左下角作为了车位,所以还要加上出口的空地。
余下的空地加上分组空地数加上不饱和度再加上出口,最少的空地数为
答案上界即为总面积减空地数
空地蛇形分布可以达到这个上界。
证毕。
以下提供三种