Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 区(乙)及"x2B ;;区(A-B)_Algorithm - Fatal编程技术网

Algorithm 区(乙)及"x2B ;;区(A-B)

Algorithm 区(乙)及"x2B ;;区(A-B),algorithm,Algorithm,A是不同元素的序列,B是A的子序列,A-B是A中的所有元素,但不是B中的所有元素 距离(A)=从i=1到n-1的和| A(i)-A(i+1)| 求一个子序列B,使Dist(B)+Dist(a-B)最小 我知道这个问题可以用动态规划来解决,但我不知道如何解决。。。 有答案的人吗?让我们一次添加一个元素,并标记B和a-B,以便添加的最后一个元素在B中。如果我们在a中添加N个元素,我们需要跟踪N个集合B_i,以便B_i是成本最低的解决方案,其中a-B中的最后一个元素是a_i(集合B_0是集合a,因此a

A是不同元素的序列,B是A的子序列,A-B是A中的所有元素,但不是B中的所有元素 距离(A)=从i=1到n-1的和| A(i)-A(i+1)| 求一个子序列B,使Dist(B)+Dist(a-B)最小 我知道这个问题可以用动态规划来解决,但我不知道如何解决。。。
有答案的人吗?

让我们一次添加一个元素,并标记B和a-B,以便添加的最后一个元素在B中。如果我们在a中添加N个元素,我们需要跟踪N个集合B_i,以便B_i是成本最低的解决方案,其中a-B中的最后一个元素是a_i(集合B_0是集合a,因此a-B是空的)。当我们添加a|n时,我们通过添加| a|n+a|n-1}来更新每个B|i的成本,并让B|n-1}成为集合(a-B|k)+{a|n},其中k是最小的| a|n-a|k

不……这是我今天考试中遇到的一个问题……我不知道该怎么解决……我对这个问题很好奇:)对不起,我的意思是dist()我会把它编辑成apis dist这里是a{i}-a{i-1}?dist(a)是a[i]-a[i+1]的i=1到n-1的和,例如如果a={1,2,3}dist a=(1-2)+(2-3)