Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
C++ 大小为';k';_C++ - Fatal编程技术网

C++ 大小为';k';

C++ 大小为';k';,c++,C++,如果子序列的大小正好是“k”,并且不应有小于该和的子序列,那么如何获得具有最小和的子序列的数量?Ex输入n=4,k=2 1234 输出: 1动态规划解决方案 创建dp[n][k+1] dp[i][j]:对于arr a[0…i],长度为k的任何子序列的最小可能和 dp[0][0]=0,dp[0][1]=a[0],dp[0][i]=i>1时的INT_MAX,dp[i][0]=i>0时的INT_MAX 对于i>0和j>0,dp[i][j]=min(dp[i-1][j],dp[i-1][j-1]+a[i

如果子序列的大小正好是“k”,并且不应有小于该和的子序列,那么如何获得具有最小和的子序列的数量?Ex输入n=4,k=2

1234 输出:
1

动态规划解决方案

  • 创建dp[n][k+1]
  • dp[i][j]:对于arr a[0…i],长度为k的任何子序列的最小可能和
  • dp[0][0]=0,dp[0][1]=a[0],dp[0][i]=i>1时的INT_MAX,dp[i][0]=i>0时的INT_MAX
  • 对于i>0和j>0,dp[i][j]=min(dp[i-1][j],dp[i-1][j-1]+a[i])
  • 答案:最小值(d[0…n-1][k])


    O(n^2)时空解。时间复杂度可以降低到O(n)。

    到目前为止,您尝试过什么?您遇到了什么具体问题?我正在获取大小为k和tgen的所有子序列,将每个和存储到一个数组中,然后计算最小子序列,但我正在获取运行时error@Priti“但是我得到了运行时错误”什么运行时错误?运行哪种代码?就我们而言(根据问题中提供的信息),没有任何代码。请使用输入和预期输出进行比较。@AlgirdasPreidžius我已经添加了代码的图片