zoukankan      html  css  js  c++  java
  • 【牛客练习赛22 C】

    https://www.nowcoder.com/acm/contest/132/C

    题目大意:在n个区间中取出n个数,相加的和一共会出现多少种结果。

    题目分析:对于这种挑选数字相加,由于每一步不同的选择都会影响结果,并且会出现重复的结果,所以很自然地想到使用bitset进行解决..

        【基本操作:使用<<a给每个结果加上a,使用 | (1<<a) 添加一个结果】

    【注意使用bitset不会爆位数..而使用(1<<a)的过程可能爆掉..在该题中就爆掉了..可以使用构建新的bitset先 << 再与 原 bitset进行 | 操作】

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     bitset<1000005>fo(0);
     6     bitset<1000005>fo1(0);
     7     bitset<1000005>fo2(0);
     8     bitset<1000005>fo3(0);
     9     int n;
    10     scanf("%d",&n);
    11     int tot=0;
    12     for(int i = 0  ; i < n ; i++){
    13         int qwq1,qwq2;
    14         scanf("%d%d",&qwq1,&qwq2);
    15         fo2=fo1;
    16         fo1=fo3;
    17         for(int j = qwq1 ; j <= qwq2 ; j++){
    18             fo=fo2;
    19             bitset<1000005>fo4(1);
    20             if(i)
    21             fo<<=(j*j);
    22             else{
    23                 fo4<<=(j*j);
    24                 fo|=fo4;
    25             }
    26             fo1|=fo;
    27 
    28         }     /*for(int k = 0 ; k <= 1000000 ; k++){
    29         if((fo1[k])&(1)){tot++;cout << k <<endl;}*/
    30 
    31     }
    32 
    33      for(int i = 0 ; i <= 1000000 ; i++){
    34         if(fo1[i]&1){tot++;}
    35     }
    36     cout << tot << endl;
    37     return 0;
    38 }
    View Code
  • 相关阅读:
    Summarizing NUMA Scheduling两篇文章,解释得不错
    VCAP5-DCA – What’s new?
    NUMA总结。
    NUMA and vNUMA
    NUMA
    vsphere 5.1 性能最佳实践。
    vsphere性能
    mysql的事务,隔离级别和锁
    mysql5.7 生成列 generated column
    mysql8 公用表表达式CTE的使用
  • 原文地址:https://www.cnblogs.com/MekakuCityActor/p/9307851.html
Copyright © 2011-2022 走看看