【STL -bitset】【牛客练习赛22】简单瞎搞题

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

题目描述

一共有 n个数,第 i 个数是 xi 

xi 可以取 [li , ri] 中任意的一个值。

设S=∑xi2,求 S 种类数。

输入描述:

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

输出描述:

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

示例1

输入

5
1 2
2 3
3 4
4 5
5 6

输出

26

备注:

1 ≤ n , li , ri ≤ 100

【题解】:

这个题目就是我之前就做过了的,但是当时我还是年轻,没有接触过这个bitset( ),简直太骚了,就是用二进制中的0,1,但是这个自己开辟大小的,不需要管超空间之类的。然后为什么会提及这个bitset()呢???这个题目根本就是牛头不搭马嘴。

我们需要提前知道怎么统计,总和而且做到不重复。


网上解释:

计算每个区间的平方,用或运算存放平方和(1的下标也就是平方和的结果)。 
首先设置一个低位为1的bitset,遍历每个区间,将已有的和分别左移不同的位置并做记录,最后1的个数就是种类数


我想了很久,

你可能感兴趣的:(牛客网,stl)