链接:https://www.nowcoder.com/acm/contest/132/C
来源:牛客网

题目描述

一共有 n个数,第 i 个数是 xi 
xi 可以取 [li , ri] 中任意的一个值。

,求 S 种类数。

输入描述:

第一行一个数 n。 
然后 n 行,每行两个数表示 l

i

,r

i

 

输出描述:

输出一行一个数表示答案。

输入例子:
5
1 2
2 3
3 4
4 5
5 6
输出例子:
26

-->

示例1

输入

复制

5
1 2
2 3
3 4
4 5
5 6

输出

复制

26

备注:

1 ≤ n , l

i

 , r

i

 ≤ 100

推出了方程但是复杂度太高想不出优化,后来才知道是bitset,一直没用过这个= =

  f[i][j]表示累加完第i个数之后S为j是否可行,由于只涉及0和1所以考虑bitset优化瞎搞。
 #include<bits/stdc++.h>
using namespace std;
bitset<>f[];
int l[],r[];
int main(){
int n,i,j,k;
while(cin>>n){
for(i=;i<=n;++i) cin>>l[i]>>r[i];
f[][]=;
for(i=;i<=n;++i){
f[i%]=;
for(j=l[i];j<=r[i];++j){
f[i%]|=(f[(i%)^]<<(j*j));
}
}
cout<<f[n%].count()<<endl;
}
return ;
}

牛客练习赛22-C-dp+bitset的更多相关文章

  1. 牛客练习赛22 C 简单瞎搞题

    //位运算 // & 都是1 才是 1 // | 都是0 才是0 // ^ 不一样才是1 #include <iostream> #include <cstdio> # ...

  2. 牛客练习赛22 简单瞎搞题(bitset优化dp)

    一共有 n个数,第 i 个数是 xi  xi 可以取 [li , ri] 中任意的一个值. 设 ,求 S 种类数. 输入描述: 第一行一个数 n. 然后 n 行,每行两个数表示 li,ri.   输出 ...

  3. 【牛客练习赛22 C】

    https://www.nowcoder.com/acm/contest/132/C 题目大意:在n个区间中取出n个数,相加的和一共会出现多少种结果. 题目分析:对于这种挑选数字相加,由于每一步不同的 ...

  4. 牛客练习赛53 C题bitset

    题目链接https://ac.nowcoder.com/acm/contest/1114/C #include<bits/stdc++.h> using namespace std; #d ...

  5. 牛客练习赛22C Bitset

    牛客练习赛22C 一共有 n个数,第 i 个数是 xi  xi 可以取 [li , ri] 中任意的一个值. 设 ,求 S 种类数. 感觉二进制真是一个神奇的东西. #include <iost ...

  6. 牛客练习赛53 A 超越学姐爱字符串 (DP)

    牛客练习赛53 超越学姐爱字符串 链接:https://ac.nowcoder.com/acm/contest/1114/A来源:牛客网 超越学姐非常喜欢自己的名字,以至于英文字母她只喜欢" ...

  7. 牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)

    牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...

  8. 【并查集缩点+tarjan无向图求桥】Where are you @牛客练习赛32 D

    目录 [并查集缩点+tarjan无向图求桥]Where are you @牛客练习赛32 D PROBLEM SOLUTION CODE [并查集缩点+tarjan无向图求桥]Where are yo ...

  9. 牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 逻辑,博弈 B

    牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 https://ac.nowcoder.com/acm/contest/218/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...

  10. 牛客练习赛31 D 神器大师泰兹瑞与威穆 STL,模拟 A

    牛客练习赛31 D 神器大师泰兹瑞与威穆 https://ac.nowcoder.com/acm/contest/218/D 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26214 ...

随机推荐

  1. 2016NOI冬令营day4

    上午:随机算法/近似算法与随机算法的分析方法与应用实例 不懂,完全滑水QAQ :( 下午:计算理论与NP问题 只有讲2-sat和3-sat的时候能听懂,其他的基本都在滑水:( 晚上说是什么中学生学术训 ...

  2. silverlight数据绑定

    控件绑定 <Grid x:Name="LayoutRoot"> <StackPanel> <ScrollBar x:Name="bar&qu ...

  3. 用CSS让字体在一行内显示不换行

    青枫 , 2012/07/13 18:08 , css样式设计 , 评论(0) , 阅读(2189) , Via 本站原创 大 | 中 | 小  当一行文字超过DIV或者Table的宽度的时候,浏览器 ...

  4. php打印负载函数、Linux awk打印负载

    php的sys_getloadavg sys_getloadavt()可以获得系统负载情况.该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1.5和15分钟内的平均负载. 与其让服务器因 ...

  5. Educational Codeforces Round 21 Problem E(Codeforces 808E) - 动态规划 - 贪心

    After several latest reforms many tourists are planning to visit Berland, and Berland people underst ...

  6. [c/c++]指针(2)

    首先呢,讲讲数组 数组就是一连串的地址对不对?所以它们的地址是紧挨着的 1 | 2 | 3 | 4 | 2 | 0 1 2 3 4 那我们把一个数组的首地址赋给一个指针变量 ] = {, , , , ...

  7. 解决Duilib集成CEF浏览器在Win10无法向客户区拖拽文件

    在Duilib中集成CEF浏览器项目实际开发中,遇到一个问题. 一个需求从资源管理器(桌面)拖拽文件到客户端,窗口捕获WM_DROPFILES消息然后进行消息处理,但客户区是集成的CEF浏览器,浏览器 ...

  8. Python3基础 map+lambda 将指定系列元素乘2

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. FJUT Home_W的gcd(乱搞)题解

    题意: 给出一个序列a1,a2,a3,……an. HOME_W想在其中挖掘二元组,其中二元组的挖掘方法如下. 对于任意整数 l,r ,可得到一个二元组(l,gcd(al,al+1,……,ar)). H ...

  10. 51Nod 1091 线段的重叠(贪心+区间相关

    1091 线段的重叠 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]. 给出N条线段的起点和终点,从中选出2条线段,这两 ...