P2609 [ZJOI2012] 数列

题目传送门

实在是泰裤辣!

直接推导??不存在的。

最直接的想法是记忆化搜索,但是不想写高精……

观察发现每个 an 都可以写成 x×a0+y×a1 的形式。你对单个 ai 计算系数和记忆化搜索无异。观察条件,考虑一个二元组 (ai,ai+1),发现可以转化成对 (ai/2,ai/2+1) 的求解。

  • i 是偶数时,λai+μai+1=(λ+μ)ai/2+μai/2+1
  • i 是奇数时,λai+μai+1=μai/2+(λ+μ)ai/2+1

于是可以 O(logn) 计算。

人生苦短,我用 Pyhton。

T=int(input())
for i in range(0,T):
    n=int(input())
    x=1
    y=0
    while n>0:
        if n%2==0:
            x+=y;
        else:
            y+=x;
        n//=2;
    print(y)
posted @   xishanmeigao  阅读(3)  评论(0编辑  收藏  举报
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示