P1164小A点菜

Posted lcez56jsy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1164小A点菜相关的知识,希望对你有一定的参考价值。

传送

这是一个典型的背包方案问题,设f[j]为当前价值为j的方案数,则f[j]=f[j]+f[j-a[i]],即当前方案数为选这个的方案数和不选这个东西的方案数,代码如下

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n,t=1,a[101],m,ans,x,y,f[5000001];
int flag[1000001];
int main()
{cin>>n>>m;
  for(int i=1;i<=n;i++)
    cin>>a[i];
    f[0]=1;
  for(int i=1;i<=n;i++)
  {
      for(int j=m;j>=a[i];j--)
      {f[j]+=f[j-a[i]];
    }
  }
  cout<<f[m];
}

 其余背包方案数问题:

 P2639Bessie的体重

P1049装箱问题

以上是关于P1164小A点菜的主要内容,如果未能解决你的问题,请参考以下文章

洛谷P1164 小A点菜(01背包求方案数)

洛谷——P1164 小A点菜

Luogu P1164 小A点菜

P1164 小A点菜

luogu P1164 小A点菜

洛谷 p1164 小A点菜 dp(好题) || DFS