【牛客练习赛22 C】
https://www.nowcoder.com/acm/contest/132/C
题目大意:在n个区间中取出n个数,相加的和一共会出现多少种结果。
题目分析:对于这种挑选数字相加,由于每一步不同的选择都会影响结果,并且会出现重复的结果,所以很自然地想到使用bitset进行解决..
【基本操作:使用<<a给每个结果加上a,使用 | (1<<a) 添加一个结果】
【注意使用bitset不会爆位数..而使用(1<<a)的过程可能爆掉..在该题中就爆掉了..可以使用构建新的bitset先 << 再与 原 bitset进行 | 操作】
#include<bits/stdc++.h>
using namespace std;
int main()
{
bitset<>fo();
bitset<>fo1();
bitset<>fo2();
bitset<>fo3();
int n;
scanf("%d",&n);
int tot=;
for(int i = ; i < n ; i++){
int qwq1,qwq2;
scanf("%d%d",&qwq1,&qwq2);
fo2=fo1;
fo1=fo3;
for(int j = qwq1 ; j <= qwq2 ; j++){
fo=fo2;
bitset<>fo4();
if(i)
fo<<=(j*j);
else{
fo4<<=(j*j);
fo|=fo4;
}
fo1|=fo; } /*for(int k = 0 ; k <= 1000000 ; k++){
if((fo1[k])&(1)){tot++;cout << k <<endl;}*/ } for(int i = ; i <= ; i++){
if(fo1[i]&){tot++;}
}
cout << tot << endl;
return ;
}
【牛客练习赛22 C】的更多相关文章
- 牛客练习赛22 C 简单瞎搞题
//位运算 // & 都是1 才是 1 // | 都是0 才是0 // ^ 不一样才是1 #include <iostream> #include <cstdio> # ...
- 牛客练习赛22 简单瞎搞题(bitset优化dp)
一共有 n个数,第 i 个数是 xi xi 可以取 [li , ri] 中任意的一个值. 设 ,求 S 种类数. 输入描述: 第一行一个数 n. 然后 n 行,每行两个数表示 li,ri. 输出 ...
- 【并查集缩点+tarjan无向图求桥】Where are you @牛客练习赛32 D
目录 [并查集缩点+tarjan无向图求桥]Where are you @牛客练习赛32 D PROBLEM SOLUTION CODE [并查集缩点+tarjan无向图求桥]Where are yo ...
- 牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 逻辑,博弈 B
牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 https://ac.nowcoder.com/acm/contest/218/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...
- 牛客练习赛31 D 神器大师泰兹瑞与威穆 STL,模拟 A
牛客练习赛31 D 神器大师泰兹瑞与威穆 https://ac.nowcoder.com/acm/contest/218/D 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26214 ...
- 最小生成树--牛客练习赛43-C
牛客练习赛43-C 链接: https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 ...
- 牛客练习赛28-B(线段树,区间更新)
牛客练习赛28 - B 传送门 题目 qn姐姐最好了~ qn姐姐给你了一个长度为n的序列还有m次操作让你玩, 1 l r 询问区间[l,r]内的元素和 2 l r 询问区间[l,r]内的 ...
- 牛客练习赛26:D-xor序列(线性基)
链接:牛客练习赛26:D-xor序列(线性基) 题意:小a有n个数,他提出了一个很有意思的问题:他想知道对于任意的x, y,能否将x与这n个数中的任意多个数异或任意多次后变为y 题解:线性基 #inc ...
- [堆+贪心]牛客练习赛40-B
传送门:牛客练习赛40 题面: 小A手头有 n 份任务,他可以以任意顺序完成这些任务,只有完成当前的任务后,他才能做下一个任务 第 i 个任务需要花费 x_i 的时间,同时完成第 i 个任务的时间不 ...
随机推荐
- NLTK 3.2.2 安装经验
NLTK 3.2.2 安装经验 Nltk 3.2.2要求Python版本是Python2.7 或者Python3.4+. Nltk 3.2.3 如果是从网站上直接下载程序进行安装可能会报错:Pytho ...
- 求1+2+……+n的和
题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). class Solution { public ...
- Unity中物体碰撞后去掉相互之间的反弹力
最近自制了一个的角色控制器(没有重力的角色)时发现,角色碰撞到墙壁之后会有一个小小的反弹力导致角色有一个微弱的反弹位移,这样给人一种不好的感觉.研究了一下,除了限制坐标轴( Rigidbody---C ...
- (C/C++学习笔记) 二十. 文件和流
二十. 文件和流 ● 文件的概念 文件(file) 一. C/C++语言将文件作为字节序列(sequence of characters)来对待,但从编码角度,或说从对字节信息的解释来看,文件分为:文 ...
- jstree使用新的
1.首先准备jstree树的dom元素 <p id="flowList_ul" class="flowList_ul"></p> 2.初 ...
- 4.2 C++虚成员函数
参考:http://www.weixueyuan.net/view/6371.html 总结: virtual关键字仅用于函数声明,如果函数是在类外定义,则不需要再加上virtual关键字了. 在C+ ...
- Spring Data JPA中的动态查询 时间日期
功能:Spring Data JPA中的动态查询 实现日期查询 页面对应的dto类private String modifiedDate; //实体类 @LastModifiedDate protec ...
- mvc Model验证总结及常用正则表达式
本文属转载,来源: http://www.byywee.com/page/M0/S868/868615.html 关于Model验证官方资料: http://msdn.microsoft.com/zh ...
- Creating and Destroying Objects
Consider static factpry methods instead of construction 四个优点两个缺点 One advantage of static factory met ...
- FCC JS基础算法题(7):Chunky Monkey(分割数组)
题目描述: 把一个数组arr按照指定的数组大小size分割成若干个数组块. 例如:chunk([1,2,3,4],2)=[[1,2],[3,4]]; chunk([1,2,3,4,5],2)=[[1, ...