P10509 停车场 题解

[复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式
标题链接

P10509 停车场

标题形貌

你有一片空隙。这片空隙可以视作一个一个 \(n\times n\) 的正方形。空隙外一圈为墙壁,你无法拆除它们。
现在你要在这片空隙上规划停车位,使之成为一个停车场。你盼望空隙的左下角是停车场的收支口。收支口不能规划为停车位。空隙和停车位都是 \(1\times 1\) 的正方形,且正方形的每条边与墙壁平行大概垂直。
每个停车位都应该与至少一个空隙四连通(即:停车场的上、下、左、右方至少有一个空隙),且这个空隙应当能通过多少次向上、下、左、右的移动,在不颠末任何停车位的环境下到达收支口。
下图为 \(n=4\) 时停车位数最多的放置方法之一,此中赤色为车位,蓝色为出口,白色为空隙。

叨教 \(n=2023\) 下最多能安排多少个停车位?
输入格式


输特别式

一个正整数,体现你的答案。
题解

题意

找出在 \(2023\times 2023\) 的正方形中 \(1\times 1\) 的停车位数最大值(停车位的上、下、左、右至少有一个空隙)
思绪

多画几个图,就会发现可以用一种通用的方法:(这里以 \(10\times 10\) 举例)

用zorr.pro绘图真好用
(灰的是车位,黑的是空隙或收支口)
再把黑的位置改一下就会酿成如许:

发现了吗?如果把它分解成条状,两两分组,就会酿发展度为 \(2、5、8\),宽度为 \(2\) 的方块和一段长度为 \(n\),宽度为 \(1\) 的长条,而 \(2、5、8\) 是公差为 \(3\),首项为 \(2\) 的等差数列
答案已经呼之欲出了!公差为 \(3\),首项为 \(2\),末项为 \(n\) (或 \(n-1\) 或 \(n-2\))的等差数列的各项和加上 \(n\) 就是结果!!!
\(n=2023\) 时答案为 \(2727004\)。
AC记载

AC代码:

[code]#includeusing namespace std;int main(){  long long n=2023,s=n,i;  for(i=2;i

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表