1071新年趣事之打牌——vijos
一个基础背包问题的变形
有机结合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相关推荐
- 1090. [Vijos 1071] 新年趣事之打牌
#include<iostream> #include<cstdio> #include<string> #include<cstring> #defi ...
- Vijos P1071 新年趣事之打牌
P1071新年趣事之打牌 Accepted 描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:& ...
- Vijos P1071 新年趣事之打牌(动态规划,背包,统计方案数)
P1071新年趣事之打牌 Accepted 标签: 动态规划 背包 新年趣事 描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打 ...
- 新年趣事之打牌_DP
新年趣事之打牌 ★ 输入文件:bagb.in 输出文件:bagb.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] 过年的时候,大人们最喜欢的活动,就是打牌了.xi ...
- vijos1071:新年趣事之打牌
P1071新年趣事之打牌 Accepted 标签: 新年趣事 [显示标签] 描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌 ...
- 新年趣事之打牌 题解
新年趣事之打牌 题目描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:"这副牌少了几张 ...
- Vijos P1071新年趣事之打牌
链接:https://vijos.org/p/107 问题描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突 ...
- vijos 新年趣事之打牌
描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:"这副牌少了几张!"众人一 ...
- 【动态规划】新年趣事之打牌
问题 来源: vijos P1071 [问题描述] 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道: ...
- 18.03.28 vijos1071新年趣事之打牌
描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:"这副牌少了几张!"众人一 ...
最新文章
- python 百度词典_用 Python 3 写的命令行百度词典
- android popupwindow dialog区别,Android PopUpWindow使用详解
- PageRank算法--从原理到实现
- tcp/ip 协议栈Linux内核源码分析15 udp套接字接收流程二
- Python:wordcloud.wordcloud()函数的参数解析及其说明
- 关于Jboss/Tomcat/Jetty的JNDI定义123
- 郑州银行评选神策数据为“最佳年度合作伙伴”
- 秀,用NBA球员数据学透K-Means聚类
- Linux命令学习总结:dos2unix - unix2dos
- Android doc|Getting Started|部分 --转载 保存数据
- Win32汇编——第一个窗口程序
- 探究本质,WebGIS前端地图显示之地图比例尺换算原理
- AUTOSAR 基础软件的内在安全
- 程序员打新总结 6月份 新股申购秘籍
- Atmel Studio 编译no such file
- 分类计数原理与分步计数原理_分类or分步?计数原理别再傻傻分不清~
- 计算机键盘输入错乱,win10电脑键盘错乱的三种解决方法
- 沙龙报名 | 区块链落地难? 六位专家揭秘京东区块链全景应用
- 从零到一搭建基础架构(2)-如何构建基础架构模块划分
- 变量名与变量地址的关系:
热门文章
- Qt利用paintEvent绘制双Y轴坐标折线图
- 亚马逊计划在空中建无人机配送中心
- 最近在读的一些文章-11月
- 施耐德开放自动化平台初体验(3)
- 分析证券化资产黄金DGX(简易版白皮书)
- 亮哥不说话就能让我知道bug在哪。。
- python idle 启动错误_解决Python2.7中IDLE启动没有反应的问题
- 网络应用基础 html教案,计算机应用基础教案
- 素食狗 Veggie Dog:宠物偷菜
- PHP语言/采用基于 MVVM模式的PHP技术进行开发/phpstorm编译器/前台HTML+CSS 技术,PHP在线网络教育平台--66984