假设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. (母函数 Catalan数 大数乘法 大数除法) Train Problem II hdu1023

    Train Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. 泛型集合List(C#)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace List ...

  3. iframe伪造ajax

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. WorkerMan 入门学习之(二)基础教程-Connection类的使用

    一.TcpConnection类 的使用 1.简单的TCP测试 Server.php <?php require_once __DIR__.'/Workerman/Autoloader.php' ...

  5. .NET面试题系列(十一)WinDbg、Perfmon

    WinDbg 资料 https://www.cnblogs.com/sheng-jie/p/9503650.html https://www.cnblogs.com/yudongdong/p/9701 ...

  6. android数据库简单操作

    1.DbOpenHelper package com.example.dbtest.dbHelper; import android.content.Context; import android.d ...

  7. js加减法运算多出很多小数点

    链接:http://www.jb51.net/article/73043.htm 解决方法:解决这种问题两种方法,第一种就是利用JavaScript 的toFixed(n) 方法,直接获取N 位小数, ...

  8. 第17月第28天 python yield

    1. class Fab(object): def __init__(self, max): self.max = max self.n, self.a, self.b = 0, 0, 1 def _ ...

  9. Android学习笔记——Bluetooth的使用

    蓝牙应该是现在每一部智能手机的标配了.想当年在山寨机横行的年代里,蓝牙都可以做为一个卖点~~~ 废话不多说了,进入正题: 使用蓝牙功能是需要权限的,关于蓝牙的权限也就两个: <uses-perm ...

  10. 【通信】URLConnection 详细

    通信链接.程序可以通过URLConnection实例向该URL发送请求.读取URL引用的资源. 通常创建一个和 URL的连接,并发送请求.读取此URL引用的资源需要如下几个步骤: 通过调用URL对象o ...