我正在尝试解决一个问题,我需要找到大小为n x n的矩阵元素中最长的递减序列,其中序列
S =(mi1j1,mi2j2,··,mikjk)
这样
ir&lt; ir + 1,jr&lt; jr + 1,和mirjr&gt;对于所有1≤r<1,mir + 1jr + 1 ķ
。我无法想到如何处理这个问题。我需要对它应用动态编程。 任何人都可以给我一个暗示我应该如何解决这个问题。 (因为这是我的HW所以请不要给出确切的解决方案。我正在寻找能够理解这个问题的阅读材料。)
答案 0 :(得分:1)
动态编程解决方案的想法相当简单,我认为它不需要任何额外的阅读。假设f(i,j)是以(i,j)元素结尾的最长递减序列的长度。如果为所有i,j计算f的值,使得i <1。 ik和j&lt; jk,很容易计算f(ik,jk)。因此可以迭代地计算答案(按i和j的递增顺序)。
答案 1 :(得分:0)
让mi,j = INF-mi,j,其中INF - 非常大的数字:),然后任务是找到最长的增加序列,阅读该博客http://codeforces.com/blog/entry/1412