P1616 疯狂的采药(DP,完全背包,洛谷,java)

洛谷链接:https://www.luogu.com.cn/problem/P1616
用二维数组炸内存了!!!!!!!

在这里插入图片描述
在这里插入图片描述

import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int T=in.nextInt();             
		int M=in.nextInt();             
		int[] v=new int[10001];           
		int[] t=new int[10001];           
		int[] f=new int[100001];
		
		for(int i=1;i<=M;i++) {
			t[i]=in.nextInt();
			v[i]=in.nextInt();
		}
		
		for(int i=1;i<=M;i++) {
			for(int j=t[i];j<=T;j++) {  //当需要的左边的值为数组越界时,值不变
		        f[j]=Math.max(f[j],f[j-t[i]]+v[i]);  //递推
			}
		}
		System.out.println(f[T]);
	}
}

发布了68 篇原创文章 · 获赞 26 · 访问量 593

猜你喜欢

转载自blog.csdn.net/weixin_44685629/article/details/103960635