一个基础背包问题的变形

有机结合01背包(类似)   装箱问题

个人觉得函数名有点赞。。

先跑一个装箱问题
判断能否输出-1 或者 0 
只是将原来装箱问题的bool型换成int   记录下到达当前状态的方案数量

然后再来一个01 背包  (要压空间  不然mle)

只用记录下第一种就可以printf  exit 了

#include<cstdio>
#include<algorithm>
#define ul(i,j,k) for(int i=j;i<=k;i++)
#define dl(i,j,k) for(int i=j;i>=k;i--)
using namespace std;
int com[100*1000+10];
int le,n;
int w[100+10];
int tot;
struct HAVE
{int a[100+10];int cnt;
}have[100000];
void readdata()
{scanf("%d%d",&le,&n);ul(i,1,n){scanf("%d",&w[i]);tot+=w[i];}le=tot-le;if(le<0){printf("0\n");exit(0);}
}
void o_o()
{com[0]=1;ul(i,1,n)dl(j,tot,w[i])if(com[j-w[i]])com[j]+=com[j-w[i]];if(com[le]==1)return;if(com[le]>1){printf("-1");      exit(0);}if(com[le]==0){printf("0");exit(0);}
}
bool uu[100*1000+10];
void bag()
{uu[0]=1;ul(i,1,n)dl(j,le,1){if(j-w[i]<0)continue;if(uu[j-w[i]]){uu[j]=1;have[j]=have[j-w[i]];have[j].a[++have[j].cnt]=i;if(j==le){ul(l,1,have[le].cnt)printf("%d ",have[le].a[l]);exit(0);}}}
}
void solve()
{o_o();bag();
}
int main()
{readdata();solve();
}

1071新年趣事之打牌——vijos相关推荐

  1. 1090. [Vijos 1071] 新年趣事之打牌

    #include<iostream> #include<cstdio> #include<string> #include<cstring> #defi ...

  2. Vijos P1071 新年趣事之打牌

    P1071新年趣事之打牌 Accepted 描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:& ...

  3. Vijos P1071 新年趣事之打牌(动态规划,背包,统计方案数)

    P1071新年趣事之打牌 Accepted 标签: 动态规划 背包 新年趣事 描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打 ...

  4. 新年趣事之打牌_DP

    新年趣事之打牌 ★  输入文件:bagb.in  输出文件:bagb.out   简单对比 时间限制:1 s   内存限制:128 MB [题目描述] 过年的时候,大人们最喜欢的活动,就是打牌了.xi ...

  5. vijos1071:新年趣事之打牌

    P1071新年趣事之打牌 Accepted 标签: 新年趣事 [显示标签] 描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌 ...

  6. 新年趣事之打牌 题解

    新年趣事之打牌 题目描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:"这副牌少了几张 ...

  7. Vijos P1071新年趣事之打牌

    链接:https://vijos.org/p/107 问题描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突 ...

  8. vijos 新年趣事之打牌

    描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:"这副牌少了几张!"众人一 ...

  9. 【动态规划】新年趣事之打牌

    问题 来源: vijos P1071 [问题描述] 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道: ...

  10. 18.03.28 vijos1071新年趣事之打牌

    描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:"这副牌少了几张!"众人一 ...

最新文章

  1. python 百度词典_用 Python 3 写的命令行百度词典
  2. android popupwindow dialog区别,Android PopUpWindow使用详解
  3. PageRank算法--从原理到实现
  4. tcp/ip 协议栈Linux内核源码分析15 udp套接字接收流程二
  5. Python:wordcloud.wordcloud()函数的参数解析及其说明
  6. 关于Jboss/Tomcat/Jetty的JNDI定义123
  7. 郑州银行评选神策数据为“最佳年度合作伙伴”
  8. 秀,用NBA球员数据学透K-Means聚类
  9. Linux命令学习总结:dos2unix - unix2dos
  10. Android doc|Getting Started|部分 --转载 保存数据
  11. Win32汇编——第一个窗口程序
  12. 探究本质,WebGIS前端地图显示之地图比例尺换算原理
  13. AUTOSAR 基础软件的内在安全
  14. 程序员打新总结 6月份 新股申购秘籍
  15. Atmel Studio 编译no such file
  16. 分类计数原理与分步计数原理_分类or分步?计数原理别再傻傻分不清~
  17. 计算机键盘输入错乱,win10电脑键盘错乱的三种解决方法
  18. 沙龙报名 | 区块链落地难? 六位专家揭秘京东区块链全景应用
  19. 从零到一搭建基础架构(2)-如何构建基础架构模块划分
  20. 变量名与变量地址的关系:

热门文章

  1. Qt利用paintEvent绘制双Y轴坐标折线图
  2. 亚马逊计划在空中建无人机配送中心
  3. 最近在读的一些文章-11月
  4. 施耐德开放自动化平台初体验(3)
  5. 分析证券化资产黄金DGX(简易版白皮书)
  6. 亮哥不说话就能让我知道bug在哪。。
  7. python idle 启动错误_解决Python2.7中IDLE启动没有反应的问题
  8. 网络应用基础 html教案,计算机应用基础教案
  9. 素食狗 Veggie Dog:宠物偷菜
  10. PHP语言/采用基于 MVVM模式的PHP技术进行开发/phpstorm编译器/前台HTML+CSS 技术,PHP在线网络教育平台--66984