我试图解决这个问题 - http://www.spoj.pl/problems/LISA/
我最初想到了贪婪,但后来意识到它不起作用。 这似乎是一个DP问题。 我无法形成递归关系。 我无法形成递归关系。这不仅仅是这个问题,但每当遇到一个稍微困难的DP问题时我就会陷入困境。我知道这必须是常见的,练习会有所帮助。但我只是在没有找到解决方案的情况下从一个问题转移到另一个问题。
对于上述问题以及DP遇到的任何建议都会很棒。
非常感谢。
答案 0 :(得分:5)
请注意,允许的操作仅为+
和*
- 两个操作数严格增加的二进制操作(它们是正数)。
让dp[l][r]
成为子串[l,r]
以下是有关此问题的提示,这些提示也适用于每个dp。
1)什么是基础案例? (提示:非常简单,通过添加/删除括号不会改变其值)
2)你如何从更大的问题转向更小的问题? (提示:你可以尝试找到最后一次操作的地方)
答案 1 :(得分:0)
只需要一个天真的Matrix Chain Multiplication实现来解决这个问题。
答案 2 :(得分:0)
有关解决方案,请参阅: https://shashankmishracoder.wordpress.com/2019/03/29/spoj-lisa-matrix-chain-multiplication-variation/