CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  数据结构与算法

求教一个算法问题

楼主wiali(维埃里)2005-06-03 21:29:11 在 专题开发/技术/项目 / 数据结构与算法 提问

有人能给个最优装载问题的动态规划代码吗?  
   
  [装载问题]   有一艘大船准备用来装载货物。所有待装货物都装在货箱中且所有货箱的  
  大小都一样,但货箱的重量都各不相同。设第i   个货箱的重量为wi(1≤i≤n),而货船的最大  
  载重量为c,我们的目的是在货船上装入最多的货物。  
   
  如:W   =   {5,4,3,4,3,2}   ;   c   =   10   ;   可以选{5,3,2}和{4,3,3}  
   
  问题点数:100、回复次数:3Top

1 楼aden_wang(小菜牛)回复于 2005-06-05 12:40:58 得分 100

这么简单的问题,就是标准算法吗!代码如下:  
   
  void   Knapsack(int   w[],int   c,int   n)  
  {  
  for(int   y=0;   y<ymax;   y++)  
  f[0][y]=0;  
   
  for(y=w[0];   y<=c;   y++)    
  f[0][y]=w[0];  
   
  for(int   i=1;   i<n;   i++)  
  {  
  for(y=0;   y<ymax;   y++)  
  f[i][y]=f[i-1][y];  
   
  for(y=w[i];   y<=c;   y++)  
  f[i][y]   =   max(   f[i-1][y],(f[i-1][y-w[i]]+w[i])   );     }  
  }  
   
  void   traceback(int   w[],int   c,int   n,int   x[])  
  {  
  for(int   i=0;   i<n-1;   i++)  
  {  
  if(f[i][c]==f[i+1][c])  
  {  
  x[i]=0;  
  }  
  else  
  {  
  x[i]=1;  
  c-=w[i];  
  }  
  }  
   
  x[n-1]=f[n-1][c]?1:0;  
  }  
   
  int   _tmain(int   argc,   _TCHAR*   argv[])  
  {  
  int   s=0,temp=0;    
  int   w[]   =   {5,4,3,4,3,2};  
  int   m=10;  
   
  int   n=sizeof(w)/sizeof(w[0]);  
   
  int   i=0;  
  int*   x   =   new   int[n+1];  
   
  Knapsack(w,m,n);  
  traceback(w,m,n,x);  
   
  s=f[n-1][m];  
   
  cout<<"the   max   value   is:"<<s<<endl;  
   
  for(i=0;i<n;i++)  
  {  
  if(   x[i]==1   )  
  {  
  cout<<"the   w:"<<w[i]<<endl;  
  }  
  }  
   
  getchar();  
   
  return   0;  
  }  
  Top

2 楼aden_wang(小菜牛)回复于 2005-06-05 12:42:53 得分 0

#define   ymax   100  
  #define   nmax   100  
   
  using   namespace   std;  
   
  int   f[nmax][ymax];Top

3 楼wiali(维埃里)回复于 2005-06-05 23:03:57 得分 0

aden_wang(小菜牛)   你的程序不对啊,最优解是出来的,但是由哪几个组成的不对啊Top

相关问题

  • 算法
  • 算法
  • 算法!
  • 算法
  • 算法...
  • 算法
  • 算法啊算法!!
  • 梭哈算法
  • MD5算法
  • 求算法!

关键词

  • 算法
  • 代码
  • 货箱
  • 装载
  • 货物
  • 货船
  • 问题
  • 重量

得分解答快速导航

  • 帖主:wiali
  • aden_wang

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo