题目连接:hdu_5616_Jam's balance

题意:

给你一些砝码,和一些要被称出的重量,如果这些砝码能称出来输出YES,否则输出NO

题解:我们想想,这题求组合方式,我们这里可以直接用母函数艹过去,这里我写的枚举子集的方式,其实就是母函数的形式

 #include<cstdio>
#define F(i,a,b) for(int i=a;i<=b;i++)
int abs(int a){return a<?-a:a;}
int a[],dp[][];
int main(){
int t,n,m,sum,x;
scanf("%d",&t);
while(t--){
scanf("%d",&n),sum=;
F(i,,n)scanf("%d",a+i),sum+=a[i];
F(i,,n)F(j,,sum)dp[i][j]=;
dp[][a[]]=;
F(i,,n)dp[i][]=;
F(i,,n)F(j,,sum){
dp[i][j]|=dp[i-][j];
dp[i][j+a[i]]|=dp[i-][j];
dp[i][abs(j-a[i])]|=dp[i-][j];
}
scanf("%d",&m);
while(m--)scanf("%d",&x),dp[n][x]?puts("YES"):puts("NO");
}
return ;
}

hdu_5616_Jam's balance(暴力枚举子集||母函数)的更多相关文章

  1. uva 11088 暴力枚举子集/状压dp

    https://vjudge.net/problem/UVA-11088 对于每一种子集的情况暴力枚举最后一个三人小组取最大的一种情况即可,我提前把三个人的子集情况给筛出来了. 即 f[S]=MAX{ ...

  2. ACM: 限时训练题解-Heavy Coins-枚举子集-暴力枚举

    Heavy Coins   Bahosain has a lot of coins in his pocket. These coins are really heavy, so he always ...

  3. uva1354 天平难题 【位枚举子集】||【huffman树】

    题目链接:https://vjudge.net/contest/210334#problem/G 转载于:https://blog.csdn.net/todobe/article/details/54 ...

  4. 枚举子集&高位前缀和

    最近做的题里面有这个东西,于是写一篇博客总结一下吧. 枚举子集 枚举子集就是状压的时候枚举其中的二进制位中的1的子集.直接暴力枚举二进制位时间复杂度是\(O(4^n)\),但是我们可以发现,对于每一位 ...

  5. poj 2585 Window Pains 暴力枚举排列

    题意: 在4*4的格子中有9个窗体,窗体会覆盖它之下的窗体,问是否存在一个窗体放置的顺序使得最后的结果与输入同样. 分析: 在数据规模较小且不须要剪枝的情况下能够暴力(思路清晰代码简单),暴力一般分为 ...

  6. [Luogu P3959] 宝藏 (状压DP+枚举子集)

    题面 传送门:https://www.luogu.org/problemnew/show/P3959 Solution 这道题的是一道很巧妙的状压DP题. 首先,看到数据范围,应该状压DP没错了. 根 ...

  7. CodeForces 742B Arpa’s obvious problem and Mehrdad’s terrible solution (暴力枚举)

    题意:求定 n 个数,求有多少对数满足,ai^bi = x. 析:暴力枚举就行,n的复杂度. 代码如下: #pragma comment(linker, "/STACK:1024000000 ...

  8. 2014牡丹江网络赛ZOJPretty Poem(暴力枚举)

    /* 将给定的一个字符串分解成ABABA 或者 ABABCAB的形式! 思路:暴力枚举A, B, C串! */ 1 #include<iostream> #include<cstri ...

  9. HNU 12886 Cracking the Safe(暴力枚举)

    题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12886&courseid=274 解题报告:输入4个数 ...

随机推荐

  1. myeclipse中的类恢复之前的版本方法

    1.右键要恢复的文件,点击如下的选项. 2.界面中出现之前保存的版本,双击要查看的版本,可对比版本之间的不同之处.点击Replace,恢复版本.

  2. 在cmd模式下对mysql的操作语句

    A.window下的语句 1.mysqld -install     //安装mysql服务 2.mysqld -remove //卸载mysql服务 3.net start mysql //启动服务 ...

  3. nmon 安装

    安装: mkdir /usr/local/nmon cd /usr/local/nmon wget http://sourceforge.net/projects/nmon/files/nmon_li ...

  4. Servlet详解

    原文出处:http://blog.csdn.net/q547550831/article/details/50458456 Servlet详解 基本概述 Session在计算机中,尤其是在网络应用中, ...

  5. redis----查询keys(模糊匹配)

    keys *  返回所有的key keys h?llo 类似数据库的匹配使用 keys h*lleo 类似数据库的匹配使用 keys h[ae]llo  只能是a或e的匹配 一次设置多个keys ms ...

  6. selenium 百度登陆

    using System;using OpenQA.Selenium;using OpenQA.Selenium.Firefox;//引用命名空间using System.IO; using Syst ...

  7. Android软件盘InputMethodManager

    调用下面代码:(第一次调用显示,再次调用则隐藏,如此反复),this指activity InputMethodManager imm = (InputMethodManager)this.getSys ...

  8. js 第一天

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  9. Boxes in a Line(移动盒子)

      You have n boxes in a line on the table numbered 1 . . . n from left to right. Your task is to sim ...

  10. 一个forward_list C++primer

    #include<iostream> #include<forward_list> using namespace std; int main() { forward_list ...