专栏文章

题解:SP13838 M_SEQ - Mosty! Find Gn

SP13838题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mimy21zb
此快照首次捕获于
2025/12/01 17:25
3 个月前
此快照最后确认于
2025/12/01 17:25
3 个月前
查看原文

1.题目大意

f(n)=8+(n2)2n2f(n2),f(1)=f(2)=8.f(n) = 8 + \frac{(n-2)^2}{n^2} f(n-2), \quad f(1) = f(2) = 8.
以及
g(n)=f(n)(n1)2n2f(n1)+1n2.g(n) = \sqrt{ f(n) - \frac{(n-1)^2}{n^2} f(n-1) + \frac{1}{n^2} }.
g(n)g(n) 的通项

2.化简 f(n)f(n)

递推只关联 f(n)f(n)f(n2)f(n-2)
nn 为奇数和偶数讨论。
h(n)=f(n)8h(n) = f(n) - 8,则
h(n)=(n2)2n2h(n2)+(n2)2n28.h(n) = \frac{(n-2)^2}{n^2} h(n-2) + \frac{(n-2)^2}{n^2} \cdot 8.

偶数情况 n=2kn = 2k

初始 f(2)=8f(2) = 8,所以 h(2)=0h(2) = 0
h(2k)=(k1)2k2h(2k2)+8(k1)2k2.h(2k) = \frac{(k-1)^2}{k^2} h(2k-2) + 8 \cdot \frac{(k-1)^2}{k^2}.
ak=h(2k)a_k = h(2k),则 a1=0a_1 = 0
ak=(k1)2k2ak1+8(k1)2k2.a_k = \frac{(k-1)^2}{k^2} a_{k-1} + 8 \cdot \frac{(k-1)^2}{k^2}.
两边乘以 k2k^2
k2ak=(k1)2ak1+8(k1)2.k^2 a_k = (k-1)^2 a_{k-1} + 8 (k-1)^2.
bk=k2akb_k = k^2 a_k
b1=12a1=0b_1 = 1^2 \cdot a_1 = 0
bk=bk1+8(k1)2.b_k = b_{k-1} + 8(k-1)^2.
所以
bk=8j=1k1j2=8(k1)k(2k1)6.b_k = 8 \sum_{j=1}^{k-1} j^2 = 8 \cdot \frac{(k-1)k(2k-1)}{6}.
所以
ak=bkk2=8(k1)k(2k1)6k2=4(k1)(2k1)3k.a_k = \frac{b_k}{k^2} = \frac{8(k-1)k(2k-1)}{6 k^2} = \frac{4(k-1)(2k-1)}{3k}.
所以
f(2k)=8+4(k1)(2k1)3k=24k+4(k1)(2k1)3k=4(2k+1)(k+1)3k.f(2k) = 8 + \frac{4(k-1)(2k-1)}{3k} = \frac{24k + 4(k-1)(2k-1)}{3k} = \frac{4(2k+1)(k+1)}{3k}.

奇数情况 n=2k+1n = 2k+1

初始 f(1)=8f(1) = 8,所以 h(1)=0h(1) = 0
h(2k+1)=(2k1)2(2k+1)2h(2k1)+8(2k1)2(2k+1)2.h(2k+1) = \frac{(2k-1)^2}{(2k+1)^2} h(2k-1) + 8 \cdot \frac{(2k-1)^2}{(2k+1)^2}.
ck=h(2k+1)c_k = h(2k+1)c0=h(1)=0c_0 = h(1) = 0
ck=(2k1)2(2k+1)2ck1+8(2k1)2(2k+1)2.c_k = \frac{(2k-1)^2}{(2k+1)^2} c_{k-1} + 8 \cdot \frac{(2k-1)^2}{(2k+1)^2}.
两边乘以 (2k+1)2(2k+1)^2
(2k+1)2ck=(2k1)2ck1+8(2k1)2.(2k+1)^2 c_k = (2k-1)^2 c_{k-1} + 8 (2k-1)^2.
dk=(2k+1)2ckd_k = (2k+1)^2 c_k,则 d0=12c0=0d_0 = 1^2 \cdot c_0 = 0
dk=dk1+8(2k1)2.d_k = d_{k-1} + 8 (2k-1)^2.
于是
dk=8j=1k(2j1)2.d_k = 8 \sum_{j=1}^{k} (2j-1)^2.
已知 j=1k(2j1)2=k(4k21)3\sum_{j=1}^k (2j-1)^2 = \frac{k(4k^2 - 1)}{3}
所以
dk=8k(4k21)3.d_k = 8 \cdot \frac{k(4k^2 - 1)}{3}.
所以
ck=dk(2k+1)2=8k(4k21)3(2k+1)2.c_k = \frac{d_k}{(2k+1)^2} = \frac{8k(4k^2 - 1)}{3 (2k+1)^2}.
所以
f(2k+1)=8+ck=8+8k(4k21)3(2k+1)2.f(2k+1) = 8 + c_k = 8 + \frac{8k(4k^2 - 1)}{3 (2k+1)^2}.
因此
f(2k+1)=8(k+1)(2k+3)3(2k+1).f(2k+1) = \frac{8(k+1)(2k+3)}{3(2k+1)}.
总结f(n)={4(2k+1)(k+1)3k,n=2k,8(k+1)(2k+3)3(2k+1),n=2k+1.f(n) = \begin{cases} \dfrac{4(2k+1)(k+1)}{3k}, & n=2k, \\ \dfrac{8(k+1)(2k+3)}{3(2k+1)}, & n=2k+1. \end{cases}

3.计算 g(n)g(n)

g(n)=f(n)(n1)2n2f(n1)+1n2.g(n) = \sqrt{ f(n) - \frac{(n-1)^2}{n^2} f(n-1) + \frac{1}{n^2} }.

n=2kn=2k 情况

f(2k)=4(2k+1)(k+1)3kf(2k) = \frac{4(2k+1)(k+1)}{3k}
f(2k1)=8k(2k+1)3(2k1)f(2k-1) = \frac{8k(2k+1)}{3(2k-1)}
f(2k)(2k1)2(2k)2f(2k1)=4(2k+1)(k+1)3k(2k1)24k28k(2k+1)3(2k1).f(2k) - \frac{(2k-1)^2}{(2k)^2} f(2k-1) = \frac{4(2k+1)(k+1)}{3k} - \frac{(2k-1)^2}{4k^2} \cdot \frac{8k(2k+1)}{3(2k-1)}.
于是
f(2k)(2k1)2(2k)2f(2k1)=2(2k+1)k.f(2k) - \frac{(2k-1)^2}{(2k)^2} f(2k-1) = \frac{2(2k+1)}{k}.
因此
g(2k)=2(2k+1)k+14k2.g(2k) = \sqrt{ \frac{2(2k+1)}{k} + \frac{1}{4k^2} }.

n=2k+1n=2k+1 情况

f(2k+1)=8(k+1)(2k+3)3(2k+1)f(2k+1) = \frac{8(k+1)(2k+3)}{3(2k+1)}
f(2k)=4(2k+1)(k+1)3kf(2k) = \frac{4(2k+1)(k+1)}{3k}
f(2k+1)(2k)2(2k+1)2f(2k)=8(k+1)(2k+3)3(2k+1)4k2(2k+1)24(2k+1)(k+1)3k.f(2k+1) - \frac{(2k)^2}{(2k+1)^2} f(2k) = \frac{8(k+1)(2k+3)}{3(2k+1)} - \frac{4k^2}{(2k+1)^2} \cdot \frac{4(2k+1)(k+1)}{3k}.
于是
g(2k+1)=8(k+1)2k+1+1(2k+1)2.g(2k+1) = \sqrt{ \frac{8(k+1)}{2k+1} + \frac{1}{(2k+1)^2} }.

4. g(n)g(n) 公式

偶数 n=2kn=2kg(2k)=2(2k+1)k+14k2.g(2k) = \sqrt{ \frac{2(2k+1)}{k} + \frac{1}{4k^2} }.
奇数 n=2k+1n=2k+1g(2k+1)=8(k+1)2k+1+1(2k+1)2.g(2k+1) = \sqrt{ \frac{8(k+1)}{2k+1} + \frac{1}{(2k+1)^2} }.
nn 表示:
  • nn 偶,k=n/2k = n/2g(n)=2(n+1)n/2+1n2=4(n+1)n+1n2.g(n) = \sqrt{ \frac{2(n+1)}{n/2} + \frac{1}{n^2} } = \sqrt{ \frac{4(n+1)}{n} + \frac{1}{n^2} }.
  • nn 奇,n=2k+1n=2k+1k=(n1)/2k=(n-1)/2g(n)=8(n12+1)n+1n2=8n+12n+1n2=4(n+1)n+1n2.g(n) = \sqrt{ \frac{8\left(\frac{n-1}{2}+1\right)}{n} + \frac{1}{n^2} } = \sqrt{ \frac{8\cdot \frac{n+1}{2}}{n} + \frac{1}{n^2} } = \sqrt{ \frac{4(n+1)}{n} + \frac{1}{n^2} }.
奇偶情况一致
g(n)=4(n+1)n+1n2=2+1n.g(n) = \sqrt{ \frac{4(n+1)}{n} + \frac{1}{n^2} } = 2 + \frac{1}{n}.

5.代码

很简单了
CPP
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int T, n;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    cin >> T;
    while(T --) {
        cin >> n;
        cout << fixed << setprecision(8) << (2.0 + 1.0 / (double) n); 
    } 
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...