【Luogu P1164】小A点菜
2024-08-30 02:57:59
题目原链接:
Luogu 小A点菜
【解题思路】
常规的0-1背包,不过是求装满整个背包的方案数,只要把0-1背包的状态转移方程稍微改一下就行。因为要求方案数,那么把方程中的max换成sum就行。
【解题反思】
- 要注意变量的含义和题目所问的问题
【参考程序】
#include<iostream>
#include<cstdio>
using namespace std;
int v,n,a[200005],f[10002];
int main()
{
cin>>v>>n;//v是菜品数量,n是神犇兜兜里装的钱
for (int i=1;i<=v;i++) cin>>a[i];
f[0]=1;//0元也是一种方案
for (int i=1;i<=v;i++)
for (int j=n;j>=a[i];j--)//要注意j>=a[i]
f[j]+=f[j-a[i]];//加上去就好
cout<<f[n];//输出
return 0;
}
最新文章
- arcengine中自定义工具和自带工具条(ICommand)点击后和其他工具使用的冲突
- Android 自定义线程池的实战
- Splay
- python 面向对象-笔记
- ubuntu 14.04 下svn + apache2 配置
- HDU 4578 	Transformation (线段树区间多种更新)
- OpenGL函数解析之glMatrixMode(GLenum mode)
- apiCloud创建APP项目
- Booting ARM Linux
- 网络安全设备Bypass功能介绍及分析
- Chapter 1 First Sight——28
- spring使用之旅(一) ---- bean的装配
- SpringBoot(四):banner的控制
- 【Hive学习之四】Hive 案例
- Python库,让你相见恨晚的第三方库
- 【Python】xml 解析
- stdarg.h头文件源代码分析
- 非[无]root权限 服务器 下安装perl以及perl模块
- 关于linq的几个小例子
- MySQL学习【第五篇SQL语句上】