求助决策单调性优化dp
  • 板块学术版
  • 楼主williamwei
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/24 19:20
  • 上次更新2024/7/24 20:06:40
查看原帖
求助决策单调性优化dp
700558
williamwei楼主2024/7/24 19:20

给定一个数组a1...ana_1...a_n满足n≤105n \leq 10^5,ai≤9a_i \leq 9

再给定一个数组bib_i满足bi≤109b_i \leq 10^9,表示aia_i的编号。

问将数组划分成k(k≤20)k(k \leq 20)段,段不能为空,每段的贡献之和的最小值是多少?

每段的贡献: 将段内编号相同的数aia_i合并(相加,假设a1=2a_1=2、a2=3a_2=3、a3=5a_3=5编号相同,那么他们合并起来就是1010),贡献就是合并之后的数的平方和。例如合并之后为1010、2323,贡献就是102+232=62910^2+23^2=629

需要一个O(nk)\mathcal{O}(nk)或O(knlog⁡n)\mathcal{O}(kn \log n)的算法。

2024/7/24 19:20
加载中...