hdoj1024 JAVA
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
while (sc.hasNext())
{
int a, b;
a = sc.nextInt();
b = sc.nextInt();
long ok[] = new long[b+1];
long dp[];
dp = new long[b+2];
long max = 0;
for (int i = 1; i <= b; i++)
ok[i] = sc.nextLong();//读入
for (int i = 1; i <= a; i++)
{
long gg=0;
for (int k =1; k <=i ; k++)
{
gg+=ok[k];
}
max=gg;
for (int j = i+1; j <= b; j++)
{
gg=Math.max(dp[j-1], gg)+ok[j];//状态转移
dp[j-1]=max;//更新数组
max=Math.max(gg,max);
}
}
System.out.println(max);
}
}
}
HDU 1024 JAVA解法
本文提供了一种使用Java解决HDU 1024问题的方法。通过动态规划实现,主要思路是在每一步求出当前能得到的最大值,并通过数组记录中间结果避免重复计算。代码中详细展示了如何读取输入数据并进行处理。
9924

被折叠的 条评论
为什么被折叠?



