From 91aa4d02bc11bb9895fec667b627b0bcd289770e Mon Sep 17 00:00:00 2001 From: Zengtudor Date: Fri, 29 Aug 2025 12:04:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E7=9F=B3=E5=AD=90?= =?UTF-8?q?=E5=90=88=E5=B9=B6=E9=97=AE=E9=A2=98=E7=9A=84=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=A7=84=E5=88=92=E8=A7=A3=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加完整的动态规划实现来计算石子合并问题的最小和最大得分 优化输入输出性能并修复原未实现的代码 --- src/8/27/P1880.cpp | 32 --------------------------- src/8/29/P1880.cpp | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 32 deletions(-) delete mode 100644 src/8/27/P1880.cpp create mode 100644 src/8/29/P1880.cpp diff --git a/src/8/27/P1880.cpp b/src/8/27/P1880.cpp deleted file mode 100644 index 25b0610..0000000 --- a/src/8/27/P1880.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* - - - -*/ -#include -#include -#include -#include -using ll = int64_t; - -int main(){ - ll n; - std::cin>>n; - std::vector arr(n*2+1); - std::vector pre(n*2+1); - for(ll i=1;i<=n;i++){ - std::cin>>arr[i]; - arr[n+i]=arr[i]; - } - for(ll i=1;i<=2*n;i++){ - pre[i]=pre[i-1]+arr[i]; - } - std::vector> dp; - for(ll i=1;i(2*n+1,1e9)); - // for(ll x=1;) - throw std::runtime_error("NotImpletmented"); - } -} \ No newline at end of file diff --git a/src/8/29/P1880.cpp b/src/8/29/P1880.cpp new file mode 100644 index 0000000..71632c1 --- /dev/null +++ b/src/8/29/P1880.cpp @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include +using ll = int64_t; + +const ll inf=1e9; + +int main(){ + std::iostream::sync_with_stdio(false); + std::cin.tie(nullptr); + std::cout.tie(nullptr); + + ll n; + std::cin>>n; + std::vector> dpmax(2*n+1,std::vector(2*n+1,-inf)), + dpmin(2*n+1,std::vector(2*n+1,inf)), + cost(2*n+1,std::vector(2*n+1)); + + for(ll i=1;i<=n;i++){ + std::cin>>cost[i][i]; + cost[n+i][n+i]=cost[i][i]; + dpmin[i][i]=dpmax[i][i]=0; + dpmin[n+i][n+i]=dpmax[n+i][n+i]=0; + } + + for(ll len=2;len<=n;++len){ + for(ll i=1;i<=2*n-len;i++){ + ll j=i+len-1; + for(ll k=i;k