- 博客(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 486
原创 最小重量机器设计问题
设某一机器由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 947 1
原创 多处最优服务次序问题
问题:为”最优服务次序问题“的扩展,增加多个服务处,求最少平均等待时间。例:10 2(服务处数量) 56 12 1 99 1000 234 33 55 99 812输出:336代码:#includeusing namespace std;void ranker1(int *a,int n){int i,j,k;fo
2015-05-06 15:57:03 611
原创 最优服务次序问题
问题:设有n个顾客同时等待一项服务。如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n个顾客等待服务时间综合除以n。数据输入:第一行是正整数n,表示有n个顾客,接下来的一行中,有n个正整数,表示n个顾客需要的服务时间。结果输出:将计算的最小平均等待时间输出。(每个人的等待时间还要加上他们的被服务时间)例:10 56 12 1 99 1000
2015-05-06 00:23:38 365
原创 会场安排问题
问题描述:假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排数据输入:第一行有一个正整数n,表示有n个待安排的活动,接下来的n行中,每行有两个正整数,分别表示n个待安排的活动得开始时间和结束时间。时间以0开始的分钟计。结果输出:最少会场数。例:5 1 23 12 28 25 35
2015-05-05 23:36:52 537
原创 多个限定条件下的背包问题
非传统01背包问题。而是有多个限定条件,即物品的属性增加。但每种物品还是仅有放或不放两种结果。将原m[][]扩充为3维。#includeusing 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 4328
原创 单种物品数量不一定为1的背包问题
#includeusing 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 562
原创 最长单调递增子序列。
找出由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 297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人