2 条题解

  • 1
    @ 2026-7-31 10:42:14

    #include #define int long long using namespace std; int a[10005]; long long func(int x){ long long sum=0; if(a[x]!=0) return a[x]; else for(int i=2;i<=x-1;i++) sum=sum+func(i)*func(x-i+1); return a[x]=sum; } signed main(){ int n; a[2]=1,a[3]=1; cin>>n; cout<<func(n)<<endl; return 0; }

    • -1
      @ 2023-5-7 22:05:31

      我竟然是首A,来发个题解吧,这题一定要开long long(可把我坑惨了...

      #include <iostream>
      #define int long long
      using namespace std;
      int a[10005];
      long long func(int x){
      	long long sum=0;
      	if(a[x]!=0) return a[x];
      	else for(int i=2;i<=x-1;i++) sum=sum+func(i)*func(x-i+1);
      	return a[x]=sum;
      } 
      signed main(){
              int n;
      	a[2]=1,a[3]=1;
      	cin>>n;
      	cout<<func(n)<<endl;
      	return 0;
      }
      
      • @ 2025-2-22 12:27:52

        知道递推公式就很简单啦

      • @ 2025-2-22 12:28:09

        百度很容易搜到

    • 1

    信息

    ID
    1594
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    15
    已通过
    8
    上传者