设有n项任务,加工时间分别表示为正整数t1,t2,...,tn。背包问题系列
来源:互联网 发布:java main函数 sleep 编辑:程序博客网 时间:2024/05/21 12:57
设有n项任务,加工时间分别表示为正整数t1,t2,...,tn。现有2台同样的机器,从0时刻可以安排对这些任务的加工,知道T时刻所有任务完成,总加工时间为T。
设计算法使得总加工时间T最小的调度方案。
设给定的实例:
t1=1
t2= 5
t3=2
t4= 10
t5=3
不理解或者需要交流的同学可以粉我新浪微博@雷锹,私信哟!!!
每题都写思路效率太低了,有需要或者是实在不明白去我微博私信一下我更新博客public class _1 {public static void main(String[] args) {// TODO Auto-generated method stubint [] t = {0, 1, 2, 3 , 4, 5};int middle = 0;int sumTime = 0;for(int i = 1; i < t.length; i++){sumTime += t[i];}middle = sumTime / 2;int [][] sum = new int [t.length][middle+1];for(int i = 1; i < t.length; i++){for(int j = 1; j <= middle; j++){if(j - t[i] >= 0)sum[i][j] = Math.max(sum[i-1][j], sum[i-1][j-t[i]]+t[i]);elsesum[i][j] = sum[i-1][j];}}/*for(int i = 0; i <sum.length; i++){for(int j = 0; j < sum[0].length; j++)System.out.print(sum[i][j]+" ");System.out.println();}*/System.out.println(sumTime-sum[sum.length-1][sum[0].length-1]);}}
0 0
- 设有n项任务,加工时间分别表示为正整数t1,t2,...,tn。背包问题系列
- 1.如果你有三个线程,分别为T1,T2,T3,如何让线程T2在线程T1之后执行,在线程T3之前执行。
- 一个正整数表示为n(n>=2)个连续正整数之和!
- 求解一个正整数有可能可以被表示为 n个连续正整数之和
- 算法导论13.2-5 二叉树T1右旋转换成T2,右旋次数为O(n^2)
- Hdu 5811 Colosseo(给你一个n*n的矩阵,分成两部分,记为T1,T2,T2最多能给T1多少个点,使得给完之后的两个图仍然是竞赛图)
- 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和--算法求解
- 一个正整数有可能可以被表示为 n(n>2)个连续正整数之和(C++上机考试题1)
- [正整数划分]将正整数n表示一系列正整数之和
- 背包问题-堆栈-找出其中一组解(总体积为T,n件物品体积分别是w1,w2,...,w2n,找出若干件恰好装满背包)
- Tree_Graph 判断T2是否为T1的子树 @CareerCup
- 判断树T2是否为T1的子树
- 每天一到算法练习题1 -- 一个正整数有可能可以被表示为 n(>=2) 个连续正整数之和
- 设有n个正整数,将他们连接成一排,组成一个最小的多位整数
- 设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
- 设有n个正整数,将他们连接成一排,组成一个最大的多位整数
- 将一个正整数N用二进制表示并转化为一个string类型的值s
- 将一个正整数N用二进制表示并转换为一个String类型的值S
- 嵌入式系统开发学习(1)
- LRU队列的实现
- 单链表的节点内数据值的删除问题(携程网笔试题)
- android powermanager
- C++实现字符串类型(String16/String8/const char/char)转换
- 设有n项任务,加工时间分别表示为正整数t1,t2,...,tn。背包问题系列
- java中静态方法中调用非静态方法
- AJAX简单demo
- java Swing组件之JSplitPane使用
- nginx服务器的配置
- 第10、 11 周-职工有薪水啦
- 编码的那些事
- Android设备使用扩展屏幕Presentation中的异常崩溃处理总结
- C++第5次作业