hdu 4526
来源:互联网 发布:python def的作用 编辑:程序博客网 时间:2024/05/29 13:44
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4526
思路:dp[i][j]表示前i辆车送走j个acmer的最小花费,然后就有dp[i][j]=dp[i-1][j-k]+k*t+d;(t为车辆到达的时间,d为花费),值得注意的地方是dp[0][0]=0,而其余都应该初始化为inf.
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 using namespace std; 6 #define inf 1<<30 7 int n,k,d,s,t,z; 8 int dp[111][111]; 9 //dp[i][j]表示前i辆车送走j的acmer的最小花费,则有dp[i][j]=min(dp[i][j],dp[i-1][j-p]+p*time[i]+d);10 11 int main(){12 int _case;13 scanf("%d",&_case);14 while(_case--){15 scanf("%d%d%d%d",&n,&k,&d,&s);16 for(int i=0;i<=k;i++)17 for(int j=0;j<=n;j++)18 dp[i][j]=inf;19 dp[0][0]=0;20 for(int i=1;i<=k;i++){21 scanf("%d%d",&t,&z);22 for(int j=0;j<=n;j++){23 dp[i][j]=dp[i-1][j];24 for(int k=1;k<=z;k++){25 if(j>=k){26 dp[i][j]=min(dp[i][j],dp[i-1][j-k]+k*t+d);27 }28 }29 }30 }31 if(dp[k][n]<inf){32 printf("%d\n",dp[k][n]);33 }else 34 puts("impossible");35 }36 return 0;37 }38 39 40 41
0 0
- hdu 4526
- hdu(4526)
- hdu 4526 水DP
- HDU 4526 拼车记
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- PHP Warning: date(): It is not safe to rely on the system
- hdu 3468(二分匹配)
- dp
- hdu 1544(求回文子串的个数)
- 数位dp
- hdu 4526
- hdu 3535(背包综合题)
- hdu 1503(最长公共子序列的升级版)
- hdu 1300
- hdu 1422(环上最长连续子序列)
- hdu 4528(bfs)
- hdu 3832(最短路)
- hdu 3631(floyd思想的运用)
- hdu 3873(有节点保护的最短路)