社区
数据结构与算法
帖子详情
我有个很菜的问题(现在手头紧,将来会加分的)
chinamengnan
2001-07-11 09:13:56
有两艘货船,n个货箱。第一艘船的载重量是c1,第二艘船的载重量是c2,wi是货箱i的重量,且w1+w2+....+wn<=c1+c2。找出将n个货箱全部装船的方法。
最好给源代码。
谢谢!
...全文
109
5
打赏
收藏
我有个很菜的问题(现在手头紧,将来会加分的)
有两艘货船,n个货箱。第一艘船的载重量是c1,第二艘船的载重量是c2,wi是货箱i的重量,且w1+w2+....+wn<=c1+c2。找出将n个货箱全部装船的方法。 最好给源代码。 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
anjun
2001-07-11
打赏
举报
回复
给你个面子,告诉你个优化算法
template<class T>class Loading
{
friend MaxLoading(T[],T,int);
private:
void maxLoading(int i);
int n;\\货箱数目
T *w,\\货箱重量数组
c,\\第一艘船的容量
cw,\\当前装载的重量
bestw,\\目前最优装载的重量
r;
};
template<class T>void Loading<T>::maxLoading(int i)
{
if(i>n)
{
if(cw>bestw)
bestw=cw;
return;
}
r-=w[i];
if(cw+w[i]<=c)
{
cw+=w[i];
maxLoading(i+1);
cw-=w[i];
}
if(cw+r>bestw)
maxloading(i+1);
r+=w[i];
}
template<class T>T Maxloading(T w[],T c,int n)
{
Loading<T>X;
X.w=w;
X.c=c;
X.n=n;
X.bestw=0;
X.cw=0;
X.r=0;//r的初始值为所有重量之和
for(int i=1;i<=n;i++)
X.r+=w[i];
X.maxLoading(1);
return X.bestw;
}
clavy
2001-07-11
打赏
举报
回复
这是个典型的NP问题,嘿嘿.
anjun
2001-07-11
打赏
举报
回复
操,你又问题啊
chinamengnan
2001-07-11
打赏
举报
回复
我认为这样是可以的
template<class T>class Loading
{
friend MaxLoading(T[],T,int);
private:
void maxLoading(int i);
int n;\\货箱数目
T *w,\\货箱重量数组
c,\\第一艘船的容量
cw,\\当前装载的重量
bestw;\\目前最优装载的重量
};
template<class T>void Loading<T>::maxLoading(int i)
{
if(i>n)
{
if(cw>bestw)
bestw=cw;
return;
}
if(cw+w[i]<=c)
{
cw+=w[i];
maxLoading(i+1);
cw-=w[i];
maxloading(i+1);
}
}
template<class T>T Maxloading(T w[],T c,int n)
{
Loading<T>X;
X.w=w;
X.c=c;
X.n=n;
X.bestw=0;
X.cw=0;
X.maxLoading(1);
return X.bestw;
}
你是试试吧!
别忘了给分!
chinamengnan
2001-07-11
打赏
举报
回复
大家快点好吗?
我很急的。
研究生阶段如何学习、做研究(超棒)
一、如何学习做研究 1. 如何选导师 在选导师的时候,个人都有自己的追求和目的。就我从做学生以及
现在
做导师的角度,感觉有两点非常重要: 1)那个研究课题你真的有兴趣,并且你知道你要研究什么; 2)你和导师的性格能够合拍。 对于第一条,也就是说你应该先发现你的兴趣,再看哪个老师对你指导最合适。兴趣有两个来源:或者广泛地涉猎各种信息,从中发现兴趣(广度搜索:确定领域),或者参加一个或
哪吒 | 长期主义者生命力的爆发 | 不破不立——致敢与世界碰撞的你
……
TowardsDataScience 博客中文翻译 2016~2018(十二)
目标导入数据数据探索和数据清理基线建模二次建模交流结果结论资源最后,我想说这个过程不是完全线性的。随着你对数据了解的越来越多,你会跳来跳去,并发现新的
问题
需要解决。我们开始吧!1)目标你想解决的
问题
是什么?从等式中删除建模、评估指标和数据科学。你的公司面临的
问题
是什么?你想进一步了解什么?清楚地陈述你的
问题
是解决
问题
的第一步,没有一个清楚的
问题
,你会发现自己陷入了数据科学的兔子洞。对于此工作流,我们将分析 IMDB.com 排名最高的电影。
TowardsDataScience 博客中文翻译 2016~2018(二百九十四)
让我告诉你一些关于我的机器的事情,GPU: 1 个 P100CUDA: 9.1英伟达:387.xx但是,当我昨天启动我的 GCP 实例并尝试运行 docker 容器时,发生了一些非常奇怪的事情,几个月前,我发现了艾瑞克·斯托罗兹写的这篇关于遗传算法的文章,他写的这篇文章是为了找到旅行推销员
问题
的最优解。我觉得很有意思,为了更深入的理解,从头重写项目,对
问题
空间做了一点探索。我在一些/很多/大部分代码中使用了 Python 的显式类型化功能,来感受一下。
TowardsDataScience 博客中文翻译 2019(三百三十七)
数据科学需要对数据有深刻的理解。随着越来越多的数据积累,回答以下
问题
变得更加困难:我如何以准确且有意义的方式在空间上表示我的数据?我声称回答这个
问题
的一个超级有用的步骤是理解什么是流形。*这里有一个好消息:*很可能你已经理解了什么是流形。流形本质上是可视化的,所以日常例子是丰富的。解释什么是流形,给出一个概念性的定义。在不同的上下文中可视化流形的例子。展示流形在数据科学中的应用。流形描述了大量的几何曲面。要成为一个流形,有一个重要的规则需要满足。理解这一属性的最好方法是通过例子。
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章