Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 n元线性方程的解的个数_Algorithm_Dynamic Programming - Fatal编程技术网

Algorithm n元线性方程的解的个数

Algorithm n元线性方程的解的个数,algorithm,dynamic-programming,Algorithm,Dynamic Programming,这是使用自下而上的方法,并且 假设j=3和j-coeff[i]=2 那么d[3]=d[3]+d[2]如何给出解决方案呢?以前的结果和当前结果的简单相加如何给出线性变量的总解 假设您有无限数量的值为2,3,5的硬币(您的coeff[]),并且您想知道一些解决方案的数量,以便生成某种求和形式的硬币集 在第一次循环运行时,您用硬币2填充表格。表将被填满 // Fill table in bottom up manner for (int i=0; i<n; i++)

这是使用自下而上的方法,并且 假设
j=3
j-coeff[i]=2


那么
d[3]=d[3]+d[2]
如何给出解决方案呢?以前的结果和当前结果的简单相加如何给出线性变量的总解

假设您有无限数量的值为2,3,5的硬币(您的
coeff[]
),并且您想知道一些解决方案的数量,以便生成某种求和形式的硬币集

在第一次循环运行时,您用硬币2填充表格。表将被填满

   // Fill table in bottom up manner
        for (int i=0; i<n; i++)
          for (int j=coeff[i]; j<=rhs; j++)
             dp[j] += dp[j-coeff[i]];
因为只有这样的硬币才能得到相等的金额

在第二次循环运行时,您用硬币3填充表-现在您将得到可能由硬币2和3组成的总和

idx    0  1  2  3  4  5  6
num    1  0  1  0  1  0  1 

请注意,第5单元中填充了2+3-与您的提问情况类似,第6单元现在包含两种变体:2+2+2和3+3

假设您有无限数量的值为2,3,5的硬币(您的
coeff[]
),并且您想知道一些解决方案的数量,以形成一套硬币

在第一次循环运行时,您用硬币2填充表格。表将被填满

   // Fill table in bottom up manner
        for (int i=0; i<n; i++)
          for (int j=coeff[i]; j<=rhs; j++)
             dp[j] += dp[j-coeff[i]];
因为只有这样的硬币才能得到相等的金额

在第二次循环运行时,您用硬币3填充表-现在您将得到可能由硬币2和3组成的总和

idx    0  1  2  3  4  5  6
num    1  0  1  0  1  0  1 

请注意,单元格5中填充了2+3-与您的提问情况类似,单元格6现在包含两个变体:2+2+2和3+3

很抱歉,但我仍然对这个问题感到困惑。“我不知道如何将递归方法更改为DP方法,”Hoang Nam I描述了DP方法(自下而上的方法)。这类问题的递归通常从末尾开始(自上而下的方式),可以很容易地用自上而下的DP-memonization来代替,但是转换到自下而上(表)方式要复杂一些。很抱歉,我仍然对这个问题感到困惑。“我不知道如何将递归方法更改为DP方法,”Hoang Nam I描述了DP方法(自下而上的方法)。这类问题的递归通常从末尾开始(自上而下的方式),可以很容易地用自上而下的DP-memonization来代替,但是转换到自下而上(表)方式要复杂一些。