题解:P10509 停车场

· · 题解

(蒟蒻的第一篇题解,各位dalao写的都太复杂了,这题纯找规律)

首先,我们发现第一列与最后一列有固定的最优解,与样例解释一样,第一列“L”型,最后一列“l”型 (非常好理解)

好,我们接着考虑中间的行,我们发现,要么是2行为一组,每一组“L”,共(n-3)/2个“L”。

要么是3行为一组,每一组“LL”,共(n-3)/3个“LL”。

最后去个max,在加上首尾的2*n

#include <bits/stdc++.h>
using namespace std;
int n=2023;
long long ans1,ans2;
int main(){
    ans1=n*2+(n-3)/2*n;//计算第一种情况
    ans2=n*2+(n-3)/3*2*n;//计算第2种情况
    if(ans1>ans2)cout<<ans1;
    else cout<<ans2;
    return 0;
}

求审核一遍过