zoukankan      html  css  js  c++  java
  • 钓鱼

     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 const int maxn=107;
     5 int n,h,ans;
     6 int f[maxn],d[maxn],t[maxn],dp[maxn][maxn],st[maxn],num[maxn][maxn];
     7 int main(){
     8   cin>>n>>h;h*=12;
     9   for(int i=1;i<=n;i++) cin>>f[i];
    10   for(int i=1;i<=n;i++) cin>>d[i];
    11   for(int i=1;i<n;i++) {cin>>t[i];st[i]=st[i-1]+t[i];}
    12   for(int i=2;i<=n;i++) {dp[i][st[i-1]]=f[i];num[i][st[i-1]]=1;} dp[1][1]=f[1];num[1][1]=1;
    13   for(int j=2;j<=h;j++){
    14       if(f[1]-d[1]*(j-1)<=0) break;
    15     dp[1][j]=dp[1][j-1]+f[1]-d[1]*(j-1);
    16   }
    17   for(int i=2;i<=n;i++){
    18     for(int j=st[i-1];j<=h;j++){
    19       if(dp[i][j]<dp[i-1][j-t[i-1]]+f[i]){
    20         dp[i][j]=dp[i-1][j-t[i-1]]+f[i];num[i][j]=1;
    21 
    22       }
    23       for(int k=j-1;k>=1;k--){
    24           int lft=0;
    25           for(int u=k;u<=j;u++){
    26           lft+=f[i]-d[i]*num[i][k]*(u-k+1);  
    27         }
    28         if(dp[i][j]<dp[i][k]+lft){
    29           dp[i][j]=dp[i][k]+lft;num[i][j]=num[i][k]+1;
    30           cout<<"r2 "<<i<<" "<<j<<" "<<dp[i][j]<<endl; 
    31         }
    32         if(lft-d[i]<0) break;
    33       }
    34     }
    35   }
    36   for(int i=1;i<=n;i++){
    37     for(int j=1;j<=h;j++)
    38       cout<<dp[i][j]<<" ";
    39     cout<<endl;
    40   }
    41   for(int i=1;i<=n;i++){
    42     for(int j=1;j<=h;j++)
    43       ans=max(ans,dp[i][j]);
    44   }
    45   cout<<ans<<endl;
    46   return 0;
    47 } 
  • 相关阅读:
    菜鸟学freeswitch(二)webRTC拨软电话自动挂断
    热部署神器-JRebel的简单使用
    菜鸟学freeswitch(一)freeswitch安装
    Feign涨姿势的机会
    zuul 设置响应超时
    @Autowired和static的关系
    加固ECS安全性的一些策略
    当https遇上websocket
    Msql 问题(持续更新)
    5.elk
  • 原文地址:https://www.cnblogs.com/lcan/p/9691927.html
Copyright © 2011-2022 走看看