2018.06.26 NOIP模拟 号码(数位dp)

传送门
先看一眼题面,再看一眼数据范围不难想到这题想考数位dp
但常规的数位dp只要求求出满足条件的数的个数,该题要求的是这些数的平方和,为了解决这个问题,我们可以先考虑这个问题的弱化版本:如何求出这些数的和?
我们可以将普通数位dp要求的数的数量抽象成0维上的问题,那么该题就是要求二维问题,显然我们可以用0维的状态推出1维的状态,那么自然我们也可以用0维和1维的状态来推出二维的状态。那么我们可以利用完全平方式来推出答案,设前几位的值为a,当前位的值为b,那么,合并起来的值是(10a+b),那么合并起来的值的平方为100a2+20ab+b2,由于a和b都知道,那么就做完了。
注:状态转移方程有点恶心、
代码

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值