zoukankan      html  css  js  c++  java
  • HDU4526威威猫系列故事——拼车记(DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=4526

    额。。七夕快乐哦

    刚推的时候有点乱 又各种小错误 查了好久。。

    dp[i][k] = min(dp[i-1][g]+g*t+d,dp[i][k]){(g-k)<=res[i]} 第i辆车时 剩余K个人

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<stdlib.h>
     6 using namespace std;
     7 #define INF 0xfffffff
     8 int ca[111][2],dp[110][110];
     9 int main()
    10 {
    11     int t,g,i,j,k,n,s,d;
    12     cin>>t;
    13     while(t--)
    14     {
    15         cin>>n>>k>>d>>s;
    16         memset(ca,0,sizeof(ca));
    17         for(i = 1; i <= k ;i++)
    18         scanf("%d%d",&ca[i][0],&ca[i][1]);
    19         for(i = 1 ; i <= k ; i++)
    20             for(j = 0 ; j <= n ;j++)
    21             dp[i][j] = INF;
    22         if(n==0)
    23         {
    24             printf("0
    ");
    25             continue;
    26         }
    27         if(ca[1][1]>=n)
    28         {
    29             cout<<d+ca[1][0]*n<<endl;
    30             continue;
    31         }
    32         for(i = n-ca[1][1] ; i < n ; i++)
    33         dp[1][i] = n*ca[1][0]+d;
    34         dp[1][n] = n*ca[1][0];
    35         for(i = 2; i <= k ;i++)
    36         {
    37             for(j = 0; j <= n ; j++)
    38             {
    39                 dp[i][j] = dp[i-1][j]+j*(ca[i][0]-ca[i-1][0]);
    40                 for(g = j+1 ; g <= j+ca[i][1]&&g <= n  ;g++)
    41                 dp[i][j] = min(dp[i][j],dp[i-1][g]+g*(ca[i][0]-ca[i-1][0])+d);
    42             }
    43         }
    44         if(dp[k][0]==INF)
    45         puts("impossible");
    46         else
    47         cout<<dp[k][0]<<endl;
    48     }
    49     return 0;
    50 }
    View Code
  • 相关阅读:
    巩固复习(对以前的随笔总结)_01
    Django 项目分析后得到的某些结论
    django 命令行命令
    实现搜索视频到播放(非原创)
    python 打包
    随笔汇总,温故知新
    找伙伴
    sam-Toy Cars
    反质数
    Blue Mary的战役地图
  • 原文地址:https://www.cnblogs.com/shangyu/p/3254334.html
Copyright © 2011-2022 走看看