zoukankan      html  css  js  c++  java
  • pipioj 1019: 堆石子(区间dp)

    http://www.pipioj.online/problem.php?id=1019

     1 #define IO std::ios::sync_with_stdio(0);
     2 #define bug(x)  cout<<#x<<" is "<<x<<endl
     3 #include <bits/stdc++.h>
     4 #define iter ::iterator
     5 using namespace  std;
     6 typedef long long ll;
     7 typedef pair<int,int>P;
     8 #define pb push_back
     9 #define mk make_pair
    10 #define se second
    11 #define fi first
    12 #define rs o*2+1
    13 #define ls o*2
    14 const ll mod=1e9+7;
    15 const int N=1e3+5,M=3e6;
    16 
    17 
    18 int d[N][N],a[N];
    19 
    20 int n;
    21 int main(){
    22 
    23     while(~scanf("%d",&n)){
    24         for(int i=1;i<=2*n-1;i++){
    25             for(int j=i+1;j<=2*n;j++)d[i][j]=1e9;
    26         }
    27         for(int i=1;i<=n;i++){
    28             scanf("%d",&a[i]);
    29             a[i+n]=a[i];
    30         }
    31         for(int i=1;i<=2*n;i++){
    32             a[i]+=a[i-1];
    33         }
    34         for(int l=n;l>=1;l--){
    35             for(int r=l+1;r<=n;r++){
    36                 for(int k=l;k<r;k++){
    37                     d[l][r]=min(d[l][r],d[l][k]+d[k+1][r]+a[r]-a[l-1]);
    38                 }
    39             }
    40         }
    41         int ans=d[1][n];
    42         printf("%d
    ",ans);
    43     }
    44     
    45 }
  • 相关阅读:
    公司真题-字节跳动
    全素组探求
    枚举
    求n个整数的最大公约数
    Ajax技术
    读文本文件
    JSTL标签库
    URL跟URi的区别
    常用的JSTL标签
    EL表达语言
  • 原文地址:https://www.cnblogs.com/ccsu-kid/p/14531210.html
Copyright © 2011-2022 走看看