算法题:石子合并问题
人工智能吧
全部回复
仅看楼主
level 7
dapplehou 楼主
在一个圆形操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。
2007年03月09日 05点03分 1
level 9
似乎是一组倒二叉树,从叶子逆推到根?
2007年03月09日 06点03分 2
level 0
得分最高:每次选择合并后得分最高的那一堆进行合并得分最低:每次选择合并后得分最低的那一堆进行合并不知道是不是这样
2007年03月10日 01点03分 3
我也是这么想的
2014年10月17日 05点10分
level 7
dapplehou 楼主
void MatrixChain(int *p,int n,int **m,int flag) //矩阵连乘算法{for(int i=0;i
m[i][j])m[i][j]=t;}}}MatrixChain(inputNum,2*n-1,m,0); //计算最小得分int resultMin=m[0][n-1];for(i=1;i<=n-1;i++)if(resultMin>m[i][n-1+i])resultMin=m[i][n-1+i];MatrixChain(inputNum,2*n-1,m,1); //计算最大得分int resultMax=m[0][n-1];for(i=1;i<=n-1;i++)if(resultMax
2007年03月14日 03点03分 8
楼楼,把你的算法复制粘贴到visual studio有很多错误 也运行不出来 为撒
2014年10月17日 01点10分
level 7
dapplehou 楼主
这个算法说明好!好详细!
2007年03月16日 01点03分 10
level 1
这里是高手阵地?有空得多来看看了
2007年03月26日 01点03分 11
level 1
3楼 4楼你们说的是贪心算法吧,可这样并不能保证得到的是最大或者最小得分呀
2007年10月08日 02点10分 12
level 0
都是SB用哈夫曼编码解
2008年06月24日 14点06分 13
level 0
你知道吗?只有你能说出这样的话,明显和哈夫曼算法不是一回事
2008年06月26日 08点06分 14
level 0
呵呵~经典的动态规划例题石子归并嘛~~不是简单的贪心求最优~
2008年06月30日 09点06分 15
level 0
请ruiaijun来解这个问题,他一定会解开的,因为他有现在世界上最先进的算法。
2008年07月01日 09点07分 16
level 0
吧主用的是经典动态规划矩阵连乘,好像可以
2008年07月01日 15点07分 17
level 11
  作者: 61.138.125.* 2008-7-1 17:51  请ruiaijun来解这个问题,他一定会解开的,因为他有现在世界上最先进的算法。-----------------------------------  还是你“英明伟大”!一语道破天机。  这个题目已经出了一年多了。我一直准备把它留给将来的强人工智能程序自己去解。  如果这类程序还需要我们费事去编写,那强人工智能就算是失败了!
2008年07月01日 16点07分 18
level 11
  接第十八楼  我在第十八楼的回复,即不是在逃避问题,也不是在吹牛。  因为我设计的算法,有一个基本思路:那就是,不能用编写程序的方式使计算机具有智能,不能用编写程序的方法使计算机去解决任何问题。一定要使软件系统自己产生智能,自己产生解决具体问题的方法。  由这个思路你们可以看出,我的算法不会具体解决首帖的问题,而算法编写的程序,应该能够找到解决首帖问题的方法。  61.138.125.* 网友并不真正的“英明伟大”,他仅仅是对新的思路一无所知而已。
2008年07月02日 10点07分 19
level 8
就是个简单的动态规划问题!
2008年07月09日 08点07分 20
level 0
好象是哈夫曼的变种啊
2008年07月09日 10点07分 21
level 0
搞noip的都知道明显的就是动态规划
2008年07月22日 05点07分 22
level 1
学过计算机的 都会.....不要炫耀了...来点原创点的...新鲜点的...
2008年07月22日 05点07分 23
level 0
搞过IOI的都知道,搞过NOI的也知道,你说再不济了,搞过NOIP的也知道.
2008年11月11日 23点11分 24
level 0
将const int n=5去掉
2008年11月25日 12点11分 26
1 2 尾页