• hdu 3496 Watch The Movie(DP)


    点击打开链接

    题目意思:

    **要在今晚看电影,所以让她叔叔给她买电影,但看电影的时间有限,并且商店卖的电影数目也是一定的。每个电影都有以一个价值。求最大价值。如果多买的电影没看完,输出0;

    有T组数据,给你一个n表示有n种电影,一个m表示商店最多卖的电影数目,一个l表示这个晚上所允许花费的来看电影的时间;下面n行输入每部电影的时间和价值;

    dp[j][k]=max(dp[j-1][k-cost[i]]+value[i])

    dp[j][k]表示,花费时间k看j部电影所得的最大价值;

    最后只要判断dp[m][l]是否存在就可以了!

    #include"stdio.h"
    #include"string.h"
    #define max(x,y) x>y?x:y;
    int dp[101][1001];
    int main()
    {
    	int n,m,l,i,j,k;
    	int t,cost[101],value[101];
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%d%d%d",&n,&m,&l);
    		for(i=1;i<=n;i++)
    			scanf("%d%d",&cost[i],&value[i]);
    		memset(dp,-1,sizeof(dp));
    		for(i=0;i<=l;i++)
    			dp[0][i]=0;
    		for(i=1;i<=n;i++)
    		{
    			for(j=m;j>=1;j--)
    			{
    				for(k=l;k>=cost[i];k--)
    					if(dp[j-1][k-cost[i]]!=-1)
    						dp[j][k]=max(dp[j][k],dp[j-1][k-cost[i]]+value[i]);
    			}
    		}
    		if(dp[m][l]==-1)dp[m][l]=0;
    		printf("%d\n",dp[m][l]);
    	}
    	return 0;
    }
    


  • 相关阅读:
    Apache TomEE 入门指南
    Windows 7运行命令大全
    hibernate hql 大全
    maven常用命令
    php编译安装php-5.6
    nginx编译安装
    apache通过AD验证
    apache编译安装 httpd 2.2 httpd 2.4
    DC 辅域转主域
    tomcat安装配置
  • 原文地址:https://www.cnblogs.com/yyf573462811/p/6365143.html
Copyright © 2020-2023  润新知