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]}$,为了避免负幂次可以将 ...
随机推荐
- Nginx的安装--------tar包安装
Nginx的安装,在网上搜索是很多的结果,但是 真的安装起来却花费了不少 心思,总结起来就是依赖包安装了,但是没有指定对的路径,在安装的过程中遇到过两个问题: ①make[1]: *** [/usr/ ...
- 聊聊MVC和模块化以及MVVM和组件化
原文链接 小寒的博客,带你理解更深的世界 面向对象,模块化和MVC 面向对象是指把写程序映射到现实生活,从而一来逻辑性更强,更容易写好代码,二来代码很贴切,通俗易懂,更被人理解,三来更加容易拓展和管理 ...
- 安装Tengine和Tengine说明
什么是Tengine 官方帮助文档:http://tengine.taobao.org/nginx_docs/cn/ Tengine的安装 新建tengine用户组 groupadd -r n ...
- SPSS分析过程可自动化,你知道吗
SPSS分析过程可自动化,你知道吗 在使用SPSS的过程中,有时候会遇到重复进行相同分析操作的情况,或者分析过程很复杂的情况. 这时候我们多么希望SPSS能够记住上一次的分析步骤,不要让我们重复的去点 ...
- vue-cli2.0+webpack 项目搭建
一:准备工作 安装nodejs + 安装webpack + 配置环境变量 => 确保在dos界面的任何路径都都可直接使用命令 二:搭建项目 1.全局安装vue脚手架 [DOS界面] npm i ...
- 删除文件夹时提示“You need permission to perform this action。。。”,如何解决?
Win10系统,有时,要删除某个文件夹,却提示“You need permission to perform this action...” 以下是我Google之后找到的解决方案 1.创建一个文本文 ...
- font-size:100%
font-size:100%;设置字体属性为默认大小,是相对于浏览器默认字体大小或继承body设定的字体大小来说的. 例如: h1,h2,h3,h4,h5,h6 {font-size:100%;fon ...
- python re.sub详解
re.sub(pattern, repl, string, count=0, flags=0) re.sub的含义,作用,功能就是: 对于输入的一个字符串,利用正则表达式(的强大的字符串处理功能),去 ...
- spring_配置处理器对象、处理器映射器、处理器适配器、视图解析器
创建spring配置文件:application-context.xml. 创建处理器类 package com.lanou.demo.controller;public class BookCont ...
- extern关键字及C\C++相互调用
extern关键字主要修饰变量或函数,表示该函数可以跨文件访问,或者表明该变量在其他文件定义,在此处引用. 1.extern修饰变量 (1)如果某变量int m在a.c中定义声明,则其他b.c文件访问 ...