当前位置: 代码迷 >> C语言 >> [求助]石子归并问题
  详细解决方案

[求助]石子归并问题

热度:373   发布时间:2007-08-03 18:08:00.0
回溯+剪枝足矣
ps:为什么我这里打不开acm.tongji.edu.cn?
----------------解决方案--------------------------------------------------------
以下是引用leeco在2007-8-3 16:14:00的发言:
超内存了

用bool就不会超了


----------------解决方案--------------------------------------------------------
回复:(卧龙孔明)以下是引用leeco在2007-8-3 16:14:...
优化了还是超的
----------------解决方案--------------------------------------------------------
回复:(Eastsun)回溯+剪枝足矣ps:为什么我这里打不开...
一年前我就打不开了。
----------------解决方案--------------------------------------------------------
以下是引用leeco在2007-8-3 20:01:00的发言:
优化了还是超的

反正DP极速,可以将正在运算和即将运算的放在内存,空闲的存于文件


----------------解决方案--------------------------------------------------------
最容易想到的应该是O(n^3)的动归和回溯.
dp[i][j]表示把第i堆到第j堆合并的最小差值
所以dp[i][j]=min{abs(dp[i][k]-dp[k][j])}; i<=k<=j;
答案应该是dp[1][n];
不知道到O(NW)的怎么做不知道到O(NW)的怎么做

[此贴子已经被作者于2007-8-4 14:33:50编辑过]


----------------解决方案--------------------------------------------------------
以下是引用Eastsun在2007-8-3 18:08:00的发言:
回溯+剪枝足矣
ps:为什么我这里打不开acm.tongji.edu.cn?

我也进不去.


----------------解决方案--------------------------------------------------------
以下是引用crackerwang在2007-8-4 14:30:00的发言:
最容易想到的应该是O(n^3)的动归和回溯.
dp[i][j]表示把第i堆到第j堆合并的最小差值
所以dp[i][j]=min{abs(dp[i][k]-dp[k][j])}; i<=k<=j;
答案应该是dp[1][n];
不知道到O(NW)的怎么做不知道到O(NW)的怎么做

你没看题目吧-_-


----------------解决方案--------------------------------------------------------
我理解成合并相邻的了.
楼上讲解一下这个题目DP思路

----------------解决方案--------------------------------------------------------
二路归并吧,直接不行么?
----------------解决方案--------------------------------------------------------
  相关解决方案