“趋势分析题”求助

学术版

可以提供两份代码: ```cpp #include<bits/stdc++.h> #define ll long long #define mxn 100000003 #define md 1000000007 #define pb push_back #define mkp make_pair #define ld long double #define umap unordered_map #define rep(i,a,b) for(ll i=a;i<=b;++i) #define rept(i,a,b) for(ll i=a;i<b;++i) #define drep(i,a,b) for(ll i=a;i>=b;--i) #define pq priority_queue using namespace std; ll n=5e9; ld s1,s2; signed main(){ rep(i,1,n){ s1+=(ld)(n/i)*(n/i+1)/2*i; s2+=n/i; } printf("%.9Lf",(ld)s1/s2/n); return 0; } ``` ```cpp #include<bits/stdc++.h> #define ll long long #define mxn 50000003 #define md 1000000007 #define pb push_back #define mkp make_pair #define ld long double #define umap unordered_map #define rep(i,a,b) for(int i=a;i<=b;++i) #define rept(i,a,b) for(int i=a;i<b;++i) #define drep(i,a,b) for(int i=a;i>=b;--i) #define pq priority_queue using namespace std; int n,k,p; ll c[mxn]; ld s1,s2; signed main(){ n=1e7,k=1,p=4; rep(i,1,pow(n,1.0/k)){ int x=pow(i,k); for(int j=x;j<=n;j+=x)c[j]+=i; } rep(i,1,n)s1+=(ld)i*pow(c[i],p),s2+=(ld)pow(c[i],p); printf("%.9Lf",(ld)s1/s2/n); return 0; } ```
by zifanwang @ 2024-04-26 18:25:40


纠正一下:找规律部分和第二份代码 $k,p$ 反了。
by zifanwang @ 2024-04-26 18:29:42


@[zifanwang](/user/329857) $A\to B$ 指的是 $A/B\to 1$ 还是 $A-B\to 0$?
by MatrixGroup @ 2024-04-26 18:30:37


@[Anomynous](/user/483824) 是渐近值,$A/B\to 1$,你可以理解为复杂度
by zifanwang @ 2024-04-26 18:32:40


可能还不太准确
by zifanwang @ 2024-04-26 18:38:05


知乎通道:<https://www.zhihu.com/question/654193775>
by zifanwang @ 2024-04-30 17:35:09


|