(题目传送门)
实在是泰裤辣!
直接推导??不存在的。
最直接的想法是记忆化搜索,但是不想写高精……
观察发现每个 \(a_n\) 都可以写成 \(x\times a_0+y\times a_1\) 的形式。你对单个 \(a_i\) 计算系数和记忆化搜索无异。观察条件,考虑一个二元组 \((a_i,a_{i+1})\),发现可以转化成对 \((a_{i/2},a_{i/2+1})\) 的求解。
- 当 \(i\) 是偶数时,\(\lambda a_i+\mu a_{i+1}=(\lambda +\mu)a_{i/2}+\mu a_{i/2+1}\)。
- 当 \(i\) 是奇数时,\(\lambda a_i+\mu a_{i+1}=\mu a_{i/2}+ (\lambda +\mu)a_{i/2+1}\)。
于是可以 \(\mathcal{O}(\log n)\) 计算。
人生苦短,我用 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)
标签:数列,int,mu,ZJOI2012,input,P2609,lambda
From: https://www.cnblogs.com/xishanmeigao/p/18004095