博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj2287【POJ Challenge】消失之物*
阅读量:6803 次
发布时间:2019-06-26

本文共 854 字,大约阅读时间需要 2 分钟。

题意:

给出n,m,求用除了第i(1≤i≤n)个之外的物品填满容量为j(1≤j≤m)的背包的方法数。n,m≤2000。

题解:

令f[n][j]为所有物品可用填满j的方案数,F[i][j]为题目所求,则当j<a[i]时F[i][j]=f[n][j],否则F[i][j]=f[n][j]-F[i][j-a[i]]。

代码:

1 #include 
2 #include
3 #include
4 #define inc(i,j,k) for(int i=j;i<=k;i++) 5 #define maxn 2001 6 using namespace std; 7 8 inline int read(){ 9 char ch=getchar(); int f=1,x=0;10 while(ch<'0'||ch>'9'){
if(ch=='-')f=-1; ch=getchar();}11 while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();12 return f*x;13 }14 int f[maxn],c[maxn][maxn],n,m,a[maxn];15 int main(){16 n=read(); m=read(); inc(i,1,n)a[i]=read(); f[0]=1;17 inc(i,1,n)for(int j=m;j>=a[i];j--)f[j]=(f[j]+f[j-a[i]])%10;18 inc(i,1,n){19 c[i][0]=1;20 inc(j,1,m){
if(j

 

20160905

转载于:https://www.cnblogs.com/YuanZiming/p/5861768.html

你可能感兴趣的文章
Linux系统下UDP发送和接收广播消息小例子
查看>>
每天尝试改变一点点!
查看>>
KNN(K-Nearest Neighbor)最邻近规则分类
查看>>
IntelliJ IDEA 2016.1破解码一枚
查看>>
metasploit ***测试笔记(meterpreter篇)
查看>>
HTTP基础
查看>>
JavaSE学习笔记(五)——类与对象
查看>>
Android之高仿飞鸽传输热点创建与搜索模块
查看>>
Struts2、Spring和Hibernate应用实例(中)
查看>>
[转]MYSQL性能优化分享(分库分表)
查看>>
用php实现异步执行任务的队列(一)
查看>>
AngularJS表单验证操作例子分享
查看>>
RabbitMQ 的安装与工作模式
查看>>
视图的跳转,ViewController的使用 。试图出现启动消失过程
查看>>
博科300光纤交换机配置手册/操作方法/密码设置/用户指南大全
查看>>
HTML Dom
查看>>
Linux下为PHP添加扩展库的方法
查看>>
HBase(四):HBase API判断表是否存在,结果问题爆棚。。
查看>>
宏定义冲突
查看>>
cobbler-自动化部署
查看>>