题目链接
题目类型:数位DP
题目分析
题目大意
平衡数的定义:该数字中选定一个中心点,中心点左边的值乘以到中心点的距离之和等于右边的值乘以到中心点的距离之和
解析
这道数位DP和前几题不太一样,前面的是要求和上一位有关,而这道题是要求和中心点有关,所以我们要枚举所有中心点的情况,此外,还要枚举左右两边的和,我们可以用两个变量分别表示左边的和以及右边的和,同样也可以用一个变量看左边的和减去右边的和是否等于零。求和的话我们可能连着左边18位都是9
的情况,这种情况下我们求和的最大值可能就为9*17 + 9*16 + 9*15 +...+ 9*1
总之,我们开2000的话肯定是够了。想清楚了状态表示什么就不难想转移方程了,和普通的数位DP一样找即可。
代码
1 |
|