zoukankan      html  css  js  c++  java
  • bitset入门 简单瞎搞题

    链接:https://ac.nowcoder.com/acm/contest/132/C?&headNav=www
    来源:牛客网

    简单瞎搞题
    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 32768K,其他语言65536K
    64bit IO Format: %lld

    题目描述

    一共有 n个数,第 i 个数是 xi 
    xi 可以取 [li , ri] 中任意的一个值。
    S=xi2S=∑xi2,求 S 种类数。

    具体思路:

    bitset

    0 0 0 1 1 这样在bitset中代表第一个数是存在的,第二个数是存在的(并不是二进制)。

    然后每一次在上一次计算的基础上加上就好了。

     1 #include<bits/stdc++.h>
     2 #include<bitset>
     3 using namespace std;
     4 # define ll long long
     5 # define LL_inf (1ll<<60)
     6 # define inf 0x3f3f3f3f3
     7 const int maxn = 1e6+20;
     8 const int mod = 1e9+7;
     9 bitset<maxn>ans;
    10 bitset<maxn>tmp;
    11 int main()
    12 {
    13     int n;
    14     scanf("%d",&n);
    15     int st,ed;
    16     ans[0]=1;
    17     for(int i=1; i<=n; i++)
    18     {
    19         scanf("%d %d",&st,&ed);
    20         tmp.reset();
    21         for(int j=st; j<=ed; j++)
    22         {
    23             tmp|=ans<<j*j;
    24         }
    25         ans=tmp;
    26     }
    27     cout<<ans.count()<<endl;
    28     return 0;
    29 }
  • 相关阅读:
    各个控件说明
    html常用
    abp.message
    ABP框架——单表实体流程
    AngularJS $http和$.ajax
    AngularJS ng-if使用
    AngularJS 多级下拉框
    AngularJS 计时器
    AngularJS table循环数据
    Python之待学习记录
  • 原文地址:https://www.cnblogs.com/letlifestop/p/11008098.html
Copyright © 2011-2022 走看看