返回信息流给定一个数组和整数K
eg.[5 9 13 17 21] k=3
划分K组之后
比如[5,9] [13] [17,21]
求划分K组之后各组的方差加起来的最小值是多少
------------------------
leetcode上有道是分为2组的左右遍历 但是分为K组的 有大佬有思路吗
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #97952同步于 2019/4/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖
【问题】面试题 一个单调不减数组 划分K组 求划分K组后各组方差
Gzern
2019/4/17镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 Rclover 的大作中提到: 】
: 感觉可以猜一个结论:划分的组应该都是原数组中连续的一段。
: 然后就可以拿DP做了。dp[i][j]表示前i个数被划分为j组的最小方差之和。
数组划分是连续的 把整个数组切成K个部分
dp[i][j]如果i多加一个 不切的话的状态方程没想好
你别转移到i+1,转移到j+1
dp[k][j+1] = min(dp[k][j+1], dp[i][j]+(i+1,i+2,...,h的方差)) (h>i)
【 在 Gzern 的大作中提到: 】
:
: 数组划分是连续的 把整个数组切成K个部分
: dp[i][j]如果i多加一个 不切的话的状态方程没想好
【 在 Rclover 的大作中提到: 】
: 你别转移到i+1,转移到j+1
: dp[k][j+1] = min(dp[k][j+1], dp[i][j]+(i+1,i+2,...,h的方差)) (h>i)
:
老哥这个k和h是什么意思
dp[i][j]+(i+1,i+2,...,h的方差) 是把(i+1,i+2,...,h的方差)当成切的最后一部分是吗
啊,写错了,应该是dp[i][j]+(i+1,i+2,...,k的方差)
是你这么理解的
【 在 Gzern 的大作中提到: 】
:
: 老哥这个k和h是什么意思
: dp[i][j]+(i+1,i+2,...,h的方差) 是把(i+1,i+2,...,h的方差)当成切的最后一部分是吗
: ...................