[Vijos1130][NOIP2001]数的计数 (递推)

mac2022-06-30  18

自己的递推一塌糊涂

考前抱佛脚

#include<bits/stdc++.h> using namespace std; int f[1005]; int main() { int n;scanf("%d",&n); f[0]=f[1]=1; for(int i=2;i<=n;i++) { for(int j=1;j<=i/2;j++) f[i]=f[i]+f[j]; f[i]++; } printf("%d\n",f[n]); }

 然后有n的复杂度的

#include<bits/stdc++.h> using namespace std; int f[3000005]; int sum[3000005]; int main() { int n;scanf("%d",&n); for(int i=1;i<=n;i++) { f[i]+=sum[i/2]+1; sum[i]=sum[i-1]+f[i]; } printf("%d\n",f[n]); }

转载于:https://www.cnblogs.com/lincold/p/9933091.html

最新回复(0)