bitset练习题。。。

位运算真的是玄学。。。

一开始真的“只能过样例”

后来发现把左移写成了小于号

鬼知道我在想什么/手动微笑

loj第一题

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<set>
#include<map>
#include<stack>
#include<bitset>
#define ll unsigned long long
#define pi 3.14
#define eps 1e-9
#define inf 2147483233
#define m(a) memset(a,0,sizeof(a))
#define M(a) memset(a,127,sizeof(a))
#define REP(i,m,n) for(int i=1;i<=n;i++)
#define DWN(i,n,m) for(int i=n;i>=1;i++)
#define lowbit(x) x&(-x)
using namespace std;
inline int read()
{
int x=,f=;
char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=-;ch=getchar();}
while(isdigit(ch)){x=*x+ch-'';ch=getchar();}
return x*f;
}
inline void write(int x)
{
int num=;
char buf[];
while(x)buf[++num]=(x%)+'',x/=;
while(num)putchar(buf[num--]);
putchar('\n');
}
int n,l,r;
bitset<>bs[];
int main()
{
n=read();
bs[][]=;
for(int i=;i<=n;i++)
{
l=read(),r=read();
for(int j=l;j<=r;j++) bs[i&]|=(bs[!(i&)]<<(j*j));
bs[!(i&)].reset();
}
write(bs[(n&)].count());
return ;
}
05-26 19:01