急求解两个算法题目 1.N根钢管重量为i,按顺序选择相邻的焊接,价格与两段重量成正比.求最好的代价最小的焊接方法.2.有N个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这N个人排队的一种顺序,使得N个人的平均等待时间最小. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第1题没看明白第2题,假设第k个人,那么他的等待时间是前k-1个人的接水时间之和,所以对于每个k,使得sum(t0到tk-1)最小,所以,应该是从小到大排序总时间应该最小比如2个人,一个人的接水时间是1秒,另一个人的接水时间是2秒,如果1排在2后面,那么总的等待时间为0(第1个人的等待时间,不用等)+1(第2个人的等待时间,是第1个人的接水时间),如果是2排在1后面,那么总的等待时间就是0(第1个人的等待时间,不用等)+2(第2个人的等待时间,是第1个人的接水时间),所以,后一种排队比前一种排队所需的时间大 第一个问题是石子归并问题,以前简单研究过,http://topic.csdn.net/u/20110420/00/2945b4af-4681-42c0-9bd1-65a1c3a76f25.html,普通思路是动态规划,优化思路是四边形不等式,如果把模型转化为最优二叉搜索树,则还有n*log(n)的方法。第二个问题就是从小到大排个序。 一开始看第一题没看懂,后看到了ls的石子合并。自愧不如啊~~ //s[i,j]用来表示合并方法,i表示从编号为i的石头开始合并,j表示从i开始数j堆进行合并,s[i,j]为合并的最优得分。 s[i][j]=max(s[i][j],s[i][k]+s[temp][j-k]+sum[i][j]);ps:你给的四边形不等式(123楼中)不是有三个for嵌套吗?为何复杂度回到O(n^2)? 第一题:Huffman树第二题:按接水的时间Ti排序 第一题:Huffman树第二题:按接水的时间Ti排序 这部分是由平摊分析得来的,因为决策点只会向一个方向移动,简单来讲就是n次移动n步,但这n步怎么走是不确定的,有可能每次走1步。也可能某一次走了n步,其他都没有动地方。详细的请搜索一下专业的证明吧,印象中knuth证明过四边形不等式的问题。 为什么在Myeclipse中编写struts.xml文件没有代码提示功能 如何将水晶报表显示在WEB页面上, 初学,请各位指教下,谢谢了!!!!! 了解JAVA和ASP.NET的进来下 新手求教,高手给指点以下吧.100份相送 小弟急急需 在线等哦 哥哥姐姐 帮帮忙好伐? 打印问题 急!!! resin上servlet的中文问题如何解决? JBuilder里如何配置JSP服务器? 关于结果集的问题。 请问一下大佬们,我的项目maven编译的时候总是报错 B/S的客户端打印,用IE自带打印功能,无法精确分页! 嵌入式java的问题,谢谢大家
第2题,假设第k个人,那么他的等待时间是前k-1个人的接水时间之和,所以对于每个k,使得sum(t0到tk-1)最小,所以,应该是从小到大排序总时间应该最小
比如2个人,一个人的接水时间是1秒,另一个人的接水时间是2秒,如果1排在2后面,那么总的等待时间为0(第1个人的等待时间,不用等)+1(第2个人的等待时间,是第1个人的接水时间),如果是2排在1后面,那么总的等待时间就是0(第1个人的等待时间,不用等)+2(第2个人的等待时间,是第1个人的接水时间),所以,后一种排队比前一种排队所需的时间大
//s[i,j]用来表示合并方法,i表示从编号为i的石头开始合并,j表示从i开始数j堆进行合并,s[i,j]为合并的最优得分。
s[i][j]=max(s[i][j],s[i][k]+s[temp][j-k]+sum[i][j]);ps:你给的四边形不等式(123楼中)不是有三个for嵌套吗?为何复杂度回到O(n^2)?
第二题:按接水的时间Ti排序
第二题:按接水的时间Ti排序