博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划之切钢条
阅读量:5296 次
发布时间:2019-06-14

本文共 2370 字,大约阅读时间需要 7 分钟。

 

//填写备忘录表。查询。    //从低到高递归填写备忘录。    //最初数据,经过几次抉择,产生更多数据。    public static class dynamicProcess    {        public static void test()        {            int[] specification={
0,1,5,8,9,10,17,17,20,24,30}; //fill noteTable. Integer[] NoteTable=new Integer[6]; NoteTable[0]=0; fillTable(NoteTable, specification); int length=5; LSLog.printLine(length+" best:"+NoteTable[length], 1); } private static void fillTable(Integer[] table,int[] specifition) { //get each question's best value from 1 to target. for(int i=1;i<=table.length-1;i++) { //get all group. compare each group's value,and get bestValue. MyLinkedList
> ret=resultList(i,i-1); int bestValue=bestValue(ret,specifition,i,table); LSLog.printLine("---------------------------", 1); table[i]=bestValue; } } //size:原始数据 .level:进行第几个抉择。 //对一个多抉择点问题,进行递归抉择。分解:n-1 的结果删除最后一个,再插入2中可能。最小解:level=0,无抉择,创建初值。 private static MyLinkedList
> resultList(Integer size,Integer level) { assert(size!=null&& size>0):"data is illvalible."; if(level==0) { MyLinkedList
temp=new MyLinkedList
(); temp.add(size); MyLinkedList
> bbLinkedList=new MyLinkedList
>(); bbLinkedList.add(temp); return bbLinkedList; } else { MyLinkedList
> tempret=resultList(size, level-1); MyLinkedList
> tempnew=new MyLinkedList
>(); for(int i=0;i
theOneCopy=tempret.get(i).clone(); MyLinkedNode
theNode=theOneCopy.getNode(theOneCopy.size()-1); Integer theValueInteger=theNode.mdata; int cutValue= level-(size-theOneCopy.mLast.mPre.mdata); theOneCopy.remove(theOneCopy.getNode(theOneCopy.size()-1)); theOneCopy.add(cutValue); theOneCopy.add(theValueInteger-cutValue); tempnew.add(theOneCopy); } for(int i=0;i
> ret,int[] specifition,int level,Integer[] table) { int bestValue=-1; for(int i=0;i
theAnswer=ret.get(i); for(int h=0;h
tempValue?bestValue:tempValue; LSLog.printLine("******"+tempValue +".best."+bestValue, 1); } return bestValue; } }

 

转载于:https://www.cnblogs.com/lsfv/p/10598573.html

你可能感兴趣的文章
python学习之random
查看>>
使用onclick跳转到其他页面/跳转到指定url
查看>>
【转载】测试计划模板
查看>>
pandas 修改指定列中所有内容
查看>>
ubuntu18.04 复制或剪切某文件夹下的前x个文件到另一个文件夹下
查看>>
input的value中有特殊字符
查看>>
字符串压缩
查看>>
用Lua定制Redis命令
查看>>
小程序-canvas在IOS手机层级最高无法展示问题
查看>>
「 Luogu P2285 」打鼹鼠
查看>>
lua语言入门之Sublime Text设置lua的Build System
查看>>
解决win8使用内置管理员不能打开应用商城、天气等问题
查看>>
vue.js基础
查看>>
电脑的自带图标的显示
查看>>
globalization与全球化
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
关于在Idea 创建Maven项目时,无法在source文件下创建servlet文件问题解决!
查看>>
对 HTTP 304 的理解
查看>>
深入理解css中的margin属性
查看>>
C++ 删除字符串的两种实现方式
查看>>