http://www.lydsy.com/JudgeOnline/problem.php?id=1197

 

题意转化:在n维空间中放m个n维球,问最多将空间分成几部分

f[i][j] 表示在i维空间中放j个i维球

假设现在是放第j个,它首先包含有j-1个情况,即f[i][j-1]

再加上第j个与前j-1个相交产生的,两个i维相交是i-1维,即f[i-1][j-1]

所以f[i][j]=f[i-1][j-1]+f[i][j-1]

 

#include<cstdio>

using namespace std;

long long f[16][101];

int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    for(int i=1;i<=m;++i) f[1][i]=i<<1;
    for(int i=2;i<=n;++i)
    {
        f[i][1]=2;
        for(int j=2;j<=m;++j)
            f[i][j]=f[i-1][j-1]+f[i][j-1];
    }
    printf("%lld",f[n][m]);
}

 

1197: [HNOI2006]花仙子的魔法

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 1343  Solved: 747
[Submit][Status][Discuss]

Description

bzoj千题计划183:bzoj1197: [HNOI2006]花仙子的魔法

Input

包含两个整数,并用一个空格隔开,第一个整数表示实施魔法的次数m,第二个整数表示空间的维数n。其中,1≤m≤100,1≤n≤15。

Output

仅包含一个整数,表示花仙子在n维空间中实施了m次魔法后,最多能得到多少种不同的花。

Sample Input

3 1

相关文章:

  • 2022-01-19
  • 2021-08-14
  • 2021-07-01
  • 2021-12-15
  • 2021-10-23
  • 2021-12-02
  • 2021-06-08
  • 2021-11-15
猜你喜欢
  • 2021-11-08
  • 2021-06-30
  • 2021-09-02
  • 2022-12-23
  • 2021-09-17
  • 2021-08-22
相关资源
相似解决方案