HDU1709
/*
* 好奇怪的母函数
*/
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
#define max 100*100+10
int c1[max],c2[max],a[max];
int main(){
int n;
while(~scanf("%d",&n)){
int sum=0;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
sum+=a[i];
}
sort(a,a+n);
for(int i=0;i<=sum;i++){
c1[i]=c2[i]=0;
}
for(int i=0;i<=a[0];i+=a[0]){
c1[i]=1;
}
for(int i=1;i<n;i++){
for(int j=0;j<=sum;j++){
for(int k=0;k+j<=sum&&k<=a[i];k+=a[i]){
c2[k+j]+=c1[j];
c2[abs(k-j)]+=c1[j];//每个砝码都可以放在两边
}
}
for(int j=0;j<=sum;j++){
c1[j]=c2[j];
c2[j]=0;
}
}
int cnt=0;
for(int i=1;i<=sum;i++){
if(!c1[i]){
cnt++;
}
}
printf("%d\n",cnt);
if(cnt){
int f=0;
for(int i=1;i<=sum;i++){
if(!c1[i]){
if(f){
printf(" ");
}
printf("%d",i);
f=1;
}
}
puts("");
}
}
}
HDU1709的更多相关文章
- hdu1709(母函数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1709 题意: 给你一个n,表示n个物品,下面有n个数,表示n个物品的重量,然后进行称量,每个物品只有一 ...
- HDU-1709 The Balance(生成函数)
题意 给$n$个数,有哪些属于$1$到$n$个数字总和$sum$的数是通过该集合任意子集之间的加减运算无法得到的. 思路 对每个数构造$x^{-a[i]}+1+x^{a[i]}$,为了避免负幂次可以将 ...
随机推荐
- 廖雪峰Java12maven基础-2maven进阶-1使用插件
1.maven的Lifecycle,Phase和Goal: 使用maven构建项目就是执行Lifecycle 执行Lifecycle就是按顺序执行一系列Phase 每执行一个Phase,都会执行该Ph ...
- crontab[计划任务],tar[压缩],grep[查找]
计划任务:1.新建一个计划任务:crontab -e -----> 3*/1 * * * * date >> /tmp/data.txt查看计划任务:crontab -l.如果超过6 ...
- SpringData_04_ JPA中的一对多
1.JPA中的一对多 在一对多关系中,我们习惯把一的一方称之为主表,把多的一方称之为从表.在数据库中建立一对多的关系,需要使用数据库的外键约束. 什么是外键? 指的是从表中有一列,取值参照主表的主键, ...
- python 编程 一次错误记录 -1073740791
原因是发生在我错把类当做实例化对象使用了
- x64:x64
ylbtech-x64:x64 “x86-64”,有时会简称为“x64”,是64位微处理器架构及其相应指令集的一种,也是Intel x86架构的延伸产品.“x86-64”1999由AMD设计,AMD首 ...
- 解决MySQL登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor)问题
问题描述 今天在MAC上安装完MySQL后,MYSQL默认给分配了一个默认密码,但当自己在终端上使用默认密码登录的时候,总会提示一个授权失败的错误:Access denied for user ‘ro ...
- gstore安装
gstore要求安装在linux系统中,如果你的电脑是windows系统,最好安装一个linux虚拟机或者安装一个Docker 在我的Docker安装中已经讲了Docker的安装过程,下面接着讲如何安 ...
- java基础之Random类
Random类 Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed), 在种子数的基础上进行一定的变换,从而产生需要的随机数字. 相同种子 ...
- <scrapy爬虫>爬取腾讯社招信息
1.创建scrapy项目 dos窗口输入: scrapy startproject tencent cd tencent 2.编写item.py文件(相当于编写模板,需要爬取的数据在这里定义) # - ...
- Gym100889L
Gym100889Lhttps://vjudge.net/problem/341988/origin题目大意:有一个n*n的图,m条双向边(没有重边自环),求从每个节点出发走k条路后到其他所有节点的最 ...