假设n个旅馆距离原点的距离存放在数组arr[0. . .n-1]中,punish[0. . .n-1]表示在某个旅馆停留时所受的的惩罚的最小值。当然在第一个旅馆停留时所受到的惩罚为0,即punish[0]=0。若i>0,则在第i个旅馆停留时所受到的惩罚的最小值符合递推式:

 package org.xiu68.ch06.ex5;

 public class Ex6_2 {

     public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr=new int[]{200,300,450,600,700,850};
minPunish(arr); /*
punish[0]=0
punish[1]=10000
punish[2]=12500
punish[3]=15000
punish[4]=25000
punish[5]=27500
*/ }
/*
* arr[0]~arr[n-1]为n个旅店,值为距离原点的距离
*/ public static void minPunish(int[] arr){
if(arr==null || arr.length==0)
return;
int[] punish=new int[arr.length]; //记录停留在第i个旅店所受到总的最小惩罚值
punish[0]=0; //在第一个旅店受到的惩罚为0
System.out.println("punish[0]=0");
for(int i=1;i<arr.length;i++){
int twoPlacePunish=200-(arr[i]-arr[i-1]);
punish[i]=(int) (punish[i-1]+Math.pow(twoPlacePunish, 2)); for(int j=i-2;j>=0;j--){
if(arr[i]-arr[j]>200)
break; int temp=punish[j]+(200-(arr[i]-arr[j]))^2;
if(punish[i]>temp)
punish[i]=temp;
}
System.out.println("punish["+i+"]="+punish[i]);
}//for } }

Ex 6_2 假设您准备一次长途旅行..._第五次作业的更多相关文章

  1. 假设我的朋友账号分别是v{1,2,3,4,5},且这五人想要共享一个目录,因此应该加入同一个群组,假设这个群组为vbird,且这五个账号的密码均为password.那该如何建置这五个账号?

    假设我的朋友账号分别是v{1,2,3,4,5},且这五人想要共享一个目录,因此应该加入同一个群组,假设这个群组为vbird,且这五个账号的密码均为password.那该如何建置这五个账号?#!/bin ...

  2. 15万甚至30万以内的SUV值不值得买?

    大家好,这个帖子比较长,也是我一直以来长期实践.思考.验证的结论,不当之处还请指正,也欢迎大家来共 同讨论,已经买了此价位SUV的战友们,看完后也不要生气,毕竟我的出发点是注重行车安全,人非神明,是个 ...

  3. 11.14 noip模拟试题

      题目名称 正确答案 序列问题 长途旅行 英文名称 answer sequence travel 输入文件名 answer.in sequence.in travel.in 输出文件名 answer ...

  4. 9.5noip模拟试题

    题目名称 正确答案 序列问题 长途旅行 英文名称 answer sequence travel 输入文件名 answer.in sequence.in travel.in 输出文件名 answer.o ...

  5. 程序猿进化 - 在拉钩子1024对APE节讲座计划

    注意:下面这篇文章来自于我在网上拉勾1024对APE节现场演示程序. 我是蒋宇捷,信天创投的合伙人.之前是百度魔图的联合创始人. 我先做个自我介绍,事实上每次介绍自己事实上是非常痛苦的事情,由于我前不 ...

  6. 译《The Part-Time Parliament》——终于读懂了Paxos协议!

    最近的考古发现表明,在Paxos小岛上,尽管兼职议会成员都有逍遥癖,但议会模式仍然起作用.他们依旧保持了一致的会议记录,尽管他们频繁的进出会议室并且他们的信使还很健忘.Paxon议会协议提供了一种新方 ...

  7. NOIP练习赛题目6

    长途旅行 难度级别:A: 运行时间限制:3000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 JY 是一个爱旅游的探险家,也是一名强迫症患者.现在JY 想要在C ...

  8. 【黑金原创教程】【Modelsim】【第五章】仿真就是人生

    声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...

  9. The Git Parable:Git传说(转)

    The Git Parable:Git传说 -------- 毛球子好为人师 原文地址:http://tom.preston-werner.com/2009/05/19/the-git-parable ...

随机推荐

  1. 【BZOJ2648】SJY摆棋子

    题目大意:维护一个二维平面,平面上初始有 N 个点,支持两种操作:平面加点.查询距离某个指定点的最小哈密顿距离. 题解:学习到了 kd-tree 数据结构. kd-tree 类似于平衡树,即:每个节点 ...

  2. es6/es7/es8常用新特性总结(超实用)

    本文标题有误导性,因为我其实想写node8的新特性,说实话一下子从node v1.x跳跃到node 8.x+ 真有点受宠若惊的感觉.一直觉得node 数组. 对象.序列等的处理没有python方便,因 ...

  3. GBDT原理详解

    从提升树出发,——>回归提升树.二元分类.多元分类三个GBDT常见算法. 提升树 梯度提升树 回归提升树 二元分类 多元分类 面经 提升树 在说GBDT之前,先说说提升树(boosting tr ...

  4. Scala进阶之路-正则表达式案例

    Scala进阶之路-正则表达式案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 废话不多说,正则大家都很清楚,那在Scala如何使用正则了?我们直接上个案例,如下: /* @au ...

  5. Openresty+redis实现灰度发布

    一.架构 环境: 192.168.189.131:tomcat服务 192.168.189.132:tomcat服务 192.168.189.130:OpenResty服务.redis服务 流程: 请 ...

  6. 1、Python-HelloWorld

    安装 环境下载 https://www.python.org/downloads/ IDE(PyCharm)下载 https://www.jetbrains.com/pycharm/download/ ...

  7. spring boot 2.0.3+spring cloud (Finchley)2、搭建负载均衡Ribbon (Eureka+Ribbon+RestTemplate)

    Ribbon是Netflix公司开源的一个负载均衡组件,将负载均衡逻辑封装在客户端中,运行在客户端的进程里. 本例子是在搭建好eureka的基础上进行的,可参考spring boot 2.0.3+sp ...

  8. groovy.lang.GroovyRuntimeException: Conflicting module versions

    在运行groovy的junit方法时,报了这个错误: java.lang.ExceptionInInitializerError at org.codehaus.groovy.reflection.C ...

  9. 从面向对象的角度重新认识JS世界

    一. 背景  距离上一篇JS文章已经20天,经重新总结发现,上一篇概况的有点浅显,适合初学js的入门了解,但对于已经学习js一段时间的人,或者是想系统的了解JS体系,接下来的文章可能会更有帮助. 该系 ...

  10. SLT 优先队列 哈弗曼树最小带权路径

    与普通的队列不同,普通的队列是先进先出的,而优先队列出队的顺序不是先进先出,而是大(或者小)元素先出队,需要#include <queue> 成员函数 成员函数 作用 empty() 判断 ...