- 博客(8)
- 收藏
- 关注
原创 工作分配问题
问题:设有n件工作分配给n个人,将工作i分配给第j个人所需的菲佣为cij,试设计一个算法,为每一个人分配一件不同的工作,并使总费用达到最小。 输入:第一行有一个正整数n,接下来n行,每行n个数,表示工作费用。 输入:最小总费用 例子:输入:3 10 2 3 2 3 4 3 4 5 输出:9 代码:
2015-05-13 14:02:40
553
原创 最小重量机器设计问题
设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得,设wi是从供应商j处购得的部件i的重量,cij是相应价格。尝试设计一个算法,给出总价格不超过c的最小重量机器设计。 输入:第一行有三个正整数n,m,c,接下来2n行,每行m个数,前n行是c,后n行是w。 输出,将计算的最小重量及每个部件的供应商输。 例子:3 3 4 1 2 3
2015-05-13 13:18:36
1032
1
原创 多处最优服务次序问题
问题:为”最优服务次序问题“的扩展,增加多个服务处,求最少平均等待时间。 例:10 2(服务处数量) 56 12 1 99 1000 234 33 55 99 812 输出:336 代码: #include using namespace std; void ranker1(int *a,int n) { int i,j,k; fo
2015-05-06 15:57:03
657
原创 最优服务次序问题
问题:设有n个顾客同时等待一项服务。如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n个顾客等待服务时间综合除以n。 数据输入:第一行是正整数n,表示有n个顾客,接下来的一行中,有n个正整数,表示n个顾客需要的服务时间。 结果输出:将计算的最小平均等待时间输出。(每个人的等待时间还要加上他们的被服务时间) 例:10 56 12 1 99 1000
2015-05-06 00:23:38
401
原创 会场安排问题
问题描述:假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排 数据输入:第一行有一个正整数n,表示有n个待安排的活动,接下来的n行中,每行有两个正整数,分别表示n个待安排的活动得开始时间和结束时间。时间以0开始的分钟计。 结果输出:最少会场数。 例:5 1 23 12 28 25 35
2015-05-05 23:36:52
591
原创 多个限定条件下的背包问题
非传统01背包问题。而是有多个限定条件,即物品的属性增加。但每种物品还是仅有放或不放两种结果。将原m[][]扩充为3维。 #include using namespace std; int max(int x,int y) { return x>y?x:y; } int min(int x,int y) { return x>y?y:x; } void Knapsac
2015-04-23 01:22:36
4451
原创 单种物品数量不一定为1的背包问题
#include using namespace std; void knapsack(int *v,int *w,int c,int n,int *x) { int i,j,k,Item_sum=0; int **m; //m为新的二维数组 for(i=1;i Item_sum+=x[i]; m=new int*[Item
2015-04-21 13:34:44
614
原创 最长单调递增子序列。
找出由n个数组成的序列的最长单调递增子序列。复杂度为O(n^2)。 #includeusing namespace std;int Longest(int n,int *a){ int *b=new int[n]; int *c=new int[n]; int i,j,k,Count,LarCount=0; b[0]=a[0]; Count=1; for(i=0;i!=n;i++)
2015-04-14 12:56:20
328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅