自己的递推一塌糊涂
考前抱佛脚
#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
转载请注明原文地址: https://mac.8miu.com/read-72548.html