zoukankan      html  css  js  c++  java
  • The Balance HDU

    题意:

    现在你被要求用天平和一些砝码来量一剂药。当然,这并不总是可以做到的。所以你应该找出那些不能从范围[1,S]中测量出来的品质。S是所有重量的总质量。

    输入一个n,后面有n个数,表示这n个物品的质量

    题解:

    注意这个题的题干,这个天平只要能制造出来那个质量差,然后这个质量差就不会输出(看懂第二个样例就行)

    这道题是母函数的变化版,没学过母函数的可以看一下:母函数 <普通母函数(HDU - 1028 ) && 指数型母函数(hdu1521)> 

    代码:

     1 #include<iostream>
     2 #include<queue>
     3 #include<vector>
     4 #include<string.h>
     5 #include<stdio.h>
     6 #include<queue>
     7 #include<algorithm>
     8 using namespace std;
     9 typedef long long ll;
    10 const int maxn=105;
    11 int c1[maxn*maxn],c2[maxn*maxn],v[maxn];
    12 int main()
    13 {
    14     int n;
    15     queue<int>r;
    16     while(~scanf("%d",&n))
    17     {
    18         int sum=0;
    19         memset(c1,0,sizeof(c1));
    20         memset(c2,0,sizeof(c2));
    21         for(int i=1;i<=n;++i)
    22         {
    23             scanf("%d",&v[i]);
    24             sum+=v[i];
    25         }
    26         c1[0]=1;
    27         for(int i=1;i<=n;++i)
    28         {
    29             for(int j=0;j<=sum;++j)
    30             {
    31                 for(int k=0;k+j<=sum && k<=v[i];k+=v[i])
    32                 {
    33                     if(j>k) c2[j-k]+=c1[j];
    34                     else c2[k-j]+=c1[j];
    35                     c2[k+j]+=c1[j];
    36                 }
    37             }
    38             for(int j=0;j<=sum;++j)
    39                 c1[j]=c2[j];//,c2[j]=0;
    40         }
    41         for(int i=1;i<=sum;++i)
    42         {
    43             if(!c1[i])
    44                 r.push(i);
    45         }
    46         printf("%d
    ",r.size());
    47         int flag=0;
    48         while(!r.empty())
    49         {
    50             if(!flag)
    51             printf("%d",r.front()),flag=1;
    52             else printf(" %d",r.front());
    53             r.pop();
    54         }
    55         if(flag)
    56         printf("
    ");
    57     }
    58     return 0;
    59 }
  • 相关阅读:
    构造方法,析构函数
    Redis Sentinel实现的机制与原理详解
    关于PageRank的总结
    再次建立wordpress
    图的研究杂记
    并行的论文
    还是bib问题
    如何解决bib的一些问题
    忙中记录
    近期一些学术相关记录
  • 原文地址:https://www.cnblogs.com/kongbursi-2292702937/p/12891437.html
Copyright © 2011-2022 走看看