Algorithm 使用括号查找加法/减法的最大值

Algorithm 使用括号查找加法/减法的最大值,algorithm,dynamic,Algorithm,Dynamic,给定一系列加和减的数字(例如,4-3-5),如何插入括号以找到最大值?在我的示例中,4-3-5可以是: (4-3)-5=-4或 4-(3-5)=+6 所以第二个结果是最大值。但是暴力手段对像4+5-8-6-3-2这样的东西来说需要太长时间 如何找到最大值?我认为动态规划可能对这个问题有用。动态规划确实是正确的。您需要的是一对函数。一个告诉你,给定一个数字间隔,在哪里除以它得到最大值,以及你得到的最大值是多少。另一个也这样做,以获得最小值 这两个函数都可以通过尝试将每个点进行划分并查看结果来递归计

给定一系列加和减的数字(例如,
4-3-5
),如何插入括号以找到最大值?在我的示例中,
4-3-5
可以是:
(4-3)-5=-4

4-(3-5)=+6

所以第二个结果是最大值。但是暴力手段对像
4+5-8-6-3-2
这样的东西来说需要太长时间


如何找到最大值?我认为动态规划可能对这个问题有用。

动态规划确实是正确的。您需要的是一对函数。一个告诉你,给定一个数字间隔,在哪里除以它得到最大值,以及你得到的最大值是多少。另一个也这样做,以获得最小值

这两个函数都可以通过尝试将每个点进行划分并查看结果来递归计算。具体来说,如果你在寻找一个最大值并在a-,除以,你想让前半部分最大,后半部分最小。如果你在寻找一个最大值并在a+除以,你想让两部分都最大。如果你在寻找一个最小值并在a+除以,你想让两部分都最小。如果你在寻找一个最小值并在a-,那么,你想要上半个最小值,下半个最大值


为了提高效率,请记住每个函数。现在它应该在时间
O(n^3)
中运行。(您必须为
O(n^2)
间隔计算每个值,每次计算都需要查看
O(n)
可能的分割点。)

欢迎使用SO。我编辑了你的问题,让它更清楚你想要什么。但是,如果你在文章中展示你试图解决更难的问题,即使你的方法不太管用,这可能会有所帮助。提示:完全插入括号的表达式与(同构于)什么结构完全相同?每一个这样的结构(=每一个全括号表达式)都必须有一个______; most,每边都有一个。这对如何将问题分解成子问题有什么建议?@Knu8。。首先,我尝试了所有2^n的可能性,但这需要很长时间。然后我想到了括号中的正数(它们被最大化了)。。对于负数,如果第i个数>第(i+1)个数,那么我将它们放在括号中,这样它们的答案将是肯定的。。但这并不能保证最大限度:|@Teepeemm不知道我应该提供我的尝试:$Thank:)