• [JZOJ P1265] [DP]花店橱窗


    @kaike

    传送门

    这是某年ioi的题?别看我我不知道

    光看题目都看不懂

    话说要什么花束编号必须按顺序啊

    求最大值啊

    还要什么输出编号啊

    听说DP出方案都是耍流氓

    f[i][j]=max(f[i-1][k])+a[i][j]

     1     for(int i=1;i<=n;i++)//枚举花束
     2         for(int j=i;j<=v-n+i;j++)//枚举花瓶,范围要注意
     3         {
     4             mm=-99999999;
     5             for(int k=i-1;k<j;k++)//枚举第i-1花束的位置
     6                 if(f[i-1][k]>mm)
     7                 {
     8                     mm=f[i-1][k];
     9                     c=k;
    10                 }
    11             f[i][j]=mm+a[i][j];//逐个往后推
    12             pre[i][j]=c;//记录每个最合适的位置
    13         }
     1 #include<iostream>
     2 using namespace std;
     3 int n,v,c,a[110][110],f[110][110];
     4 int maxx=0,mm=0,ans[110],pre[110][110];
     5 int main()
     6 {
     7     cin>>n>>v;
     8     int tt=n;
     9     for(int i=1;i<=n;i++)
    10         for(int j=1;j<=v;j++)
    11             cin>>a[i][j];
    12     for(int i=1;i<=n;i++)//枚举花束
    13         for(int j=i;j<=v-n+i;j++)//枚举花瓶,范围要注意
    14         {
    15             mm=-99999999;
    16             for(int k=i-1;k<j;k++)//枚举第i-1花束的位置
    17                 if(f[i-1][k]>mm)
    18                 {
    19                     mm=f[i-1][k];
    20                     c=k;
    21                 }
    22             f[i][j]=mm+a[i][j];//逐个往后推
    23             pre[i][j]=c;//记录每个最合适的位置
    24         }
    25     for(int i=1;i<=v;i++)
    26         if(maxx<f[n][i])
    27         {
    28             maxx=f[n][i];
    29             ans[tt]=i;//求最后一个花束的位置
    30         }
    31     for(int i=n;i>1;i--)
    32     {
    33         int temp=pre[i][ans[tt]];
    34         ans[--tt]=temp;//依次往前递推,求位置
    35     }
    36     cout<<maxx<<endl;
    37     for(int i=1;i<=n;i++)
    38         cout<<ans[i]<<' ';
    39     return 0;
    40 }
    你撒不撒
    No matter how you feel, get up , dress up , show up ,and never give up.
  • 相关阅读:
    搜狗图片抓取,主要以图集类进行抓取
    使用mongo进行去重操作
    爬虫实战01_淘宝模拟登录
    Linux常用命令02(远程管理)
    Linux常用命令01(文件和目录)
    Linux终端命令格式
    常用Linux命令的基本使用
    闭包与私有变量
    三栏布局的几种方法
    redux和react-redux小记
  • 原文地址:https://www.cnblogs.com/Kaike/p/5941940.html
Copyright © 2020-2023  润新知