hdu 1158
来源:互联网 发布:河南软件大学排名 编辑:程序博客网 时间:2024/05/18 03:06
很经典的动态规划。
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin=new Scanner(System.in); int n=cin.nextInt(); while(n!=0) { int h=cin.nextInt(); int s=cin.nextInt(); int f=cin.nextInt(); int minP[]=new int[n+1]; int maxP=0; for(int i=1;i<=n;i++) { minP[i]=cin.nextInt(); maxP=Math.max(maxP, minP[i]); } int cost[][]=new int[n+1][maxP+1]; for(int i=minP[1];i<=maxP;i++) cost[1][i]=i*(h+s); for(int i=2;i<=n;i++) { for(int j=minP[i];j<=maxP;j++) { cost[i][j]=Integer.MAX_VALUE; for(int k=minP[i-1];k<=maxP;k++) { if(k<j) { cost[i][j]=Math.min(cost[i-1][k]+(j-k)*h+j*s, cost[i][j]); } else { cost[i][j]=Math.min(cost[i-1][k]+(k-j)*f+j*s, cost[i][j]); } } } } int minCost=cost[n][minP[n]]; for(int i=minP[n]+1;i<=maxP;i++)minCost=Math.min(minCost,cost[n][i]); System.out.println(minCost); n=cin.nextInt(); } }}
- HDU 1158
- hdu 1158
- hdu 1158
- HDU 1158
- (1158)HDU
- HDU 1158 Common Subsequence
- hdu 1158 Employment Planning
- hdu 1158 Employment Planning
- hdu 1158 枚举+DP
- HDU 1158 Employment Planning
- HDU 1158 Employment Planning
- HDU 1158 Employment Planning
- HDU 1158 动态规划
- HDU 1158 Employment Planning
- hdu 1158 Employment Planning
- hdu 1158 Employment Planning
- HDU 1158 Employment Planning
- HDU 1158 Employment Planning
- 经典排序算法 - 桶排序Bucket sort
- xml中配置整个web的错误提示
- python字符串与正则表达式
- HTML5表单之Input 类型-url
- 求质数
- hdu 1158
- java窗体程序更换皮肤方法详细步骤
- Using the FlexPrintJob class
- input子系统分析
- Android返回键推出
- #时间管理#时间管理浅谈
- 中断向量表和中断描述符表IDT
- 【Cocos2D-X游戏开发笔记1】播放音乐&CocosDenshion
- 有效的使用和设计COM智能指针—条款4:理解ATL的CComPtr提倡简单