hdu 1121 差分计算 Complete the Sequence

这篇博客介绍了一种利用差分计算的方法来解决序列问题,通过不断进行差分运算,找到序列的规律。作者提到,差分是前后两个数相减的过程,通过多次差分可以找到序列的n-1阶差分,然后通过补全操作和倒推来求解原始序列的m个数。博客中还提到了与拉格朗日插值法的联系,并提供了AC代码作为解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路:利用差分思想,计算有规律序列
参考博客:
http://blog.youkuaiyun.com/wangjie_wang/article/details/9149683
http://rchardx.is-programmer.com/posts/16142.html

题外话,:拉格朗日插值法也是希望找出n个数背后的通项公式。
差分的意思就是指,前一个数减去后一个数。
比如题中序列
1 2 4 7 11 16 22.这是原始序列,称之为0阶差分
用前一个数减去后一个数得到:1 2 3 4 5 6 ,这种操作进行一次,我们称之为1阶差分.
在一阶差分基础上再进行差分运算。
得到1 1 1 1 1 这是2阶差分
如此循环下去,进行n-1次,也就是计算n-1阶差分
通过差分定义(后面的数-前面的数)发现,i阶差分序列的个数等于i-1阶差分的数目减一。 等于 n-i。 n是原始序列,0阶差分序列的个数。
所以求差分的公式如下:

for(int i=0;i<n;i++){

        scanf("%d",&s[0][i]);
    }
    // calculate the cha  fen
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值