摘要: 问题描述: 有n个集装箱要装上2艘载重量分别为c1和c2的轮船,其中集装箱i的重量为wi,且∑wi <= c1 + c2。 问是否有一个合理的装载方案,可将这n个集装箱装上这2艘轮船。如果有,找出一种装载方案。 问题分析: 如果一个给定装载问题有解,则采用下面的策略可得到最优装载方案。(1)首先将第 阅读全文
posted @ 2020-12-01 20:56 吹梦西洲 阅读(1011) 评论(0) 推荐(0) 编辑
摘要: 工作分配问题,最佳调度,最小重量机器设计问题是一样的 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n 阅读全文
posted @ 2020-11-27 17:03 吹梦西洲 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 工作分配问题,最佳调度,最小重量机器设计问题是一样的 设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得。设w​ij​​是从供应商j 处购得的部件i的重量,c​ij​​是相应的价格。 试设计一个算法,给出总价格不超过d的最小重量机器设计。 输入格式: 第一行有3 个正整数n ,m和d 阅读全文
posted @ 2020-11-27 16:39 吹梦西洲 阅读(496) 评论(0) 推荐(1) 编辑
摘要: 背包问题,部落卫队问题,子集合问题是一样的,对于每一层(这里是每个村民)都有2种可能,要或者不要 原始部落byteland中的居民们为了争抢有限的资源,经常发生冲突。几乎每个居民都有它的仇敌。部落酋长为了组织一支保卫部落的队伍,希望从部落的居民中选出最多的居民入伍,并保证队伍中任何两个人都不是仇敌。 阅读全文
posted @ 2020-11-27 16:38 吹梦西洲 阅读(950) 评论(0) 推荐(1) 编辑
摘要: 假设有n(n<=20)个任务由k(k<=20)个可并行工作的机器完成。完成任务i需要的时间为ti。 试设计一个算法,对任意给定的整数n和k,以及完成任务i 需要的时间为ti ,i=1~n。计算完成这n个任务的最佳调度,使得完成全部任务的时间最早。 输入格式: 输入数据的第一行有2 个正整数n和k。第 阅读全文
posted @ 2020-11-27 16:37 吹梦西洲 阅读(1119) 评论(0) 推荐(0) 编辑
摘要: 设集合S={x1,x2,…,xn}是一个正整数集合,c是一个正整数,子集和问题判定是否存在S的一个子集S1,使S1中的元素之和为c。试设计一个解子集和问题的回溯法,并输出利用回溯法在搜索树(按输入顺序建立)中找到的第一个解。 输入格式: 输入数据第1行有2个正整数n和c,n表示S的大小,c是子集和的 阅读全文
posted @ 2020-11-27 16:36 吹梦西洲 阅读(1089) 评论(0) 推荐(0) 编辑
摘要: 一、0/1背包问题 问题描述:有n件物品和容量为m的背包 给出i件物品的重量以及价值 求解让装入背包的物品重量不超过背包容量 且价值最大 。 特点:这是最简单的背包问题,特点是每个物品只有一件供你选择放还是不放。如果想不通代码就填表观察过程。 输入: 5 10 2 6 2 3 6 5 5 4 4 6 阅读全文
posted @ 2020-11-11 14:13 吹梦西洲 阅读(283) 评论(1) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> using namespace std; int memo[1000][1000]={0}; int knapSack(int weight[],int value[],int index,int capacity){ if(index<=0 || 阅读全文
posted @ 2020-11-11 13:46 吹梦西洲 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/chengxiao/p/6194356.html 阅读全文
posted @ 2020-11-08 15:14 吹梦西洲 阅读(57) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/adusts/article/details/80882649 阅读全文
posted @ 2020-11-08 15:04 吹梦西洲 阅读(55) 评论(0) 推荐(0) 编辑