学长(犭)良心推荐
戳我进题
要用bitset来写
AC代码:
///:)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
#include <iostream>
#include <bitset>
using namespace std;
typedef long long ll;
bitset<1000010> bits[111];
int main()
{
int n;
scanf("%d",&n);
int l,r;
bits[0][0]=1;
for(int i=1;i<=n;i++)
{
scanf("%d%d",&l,&r);
bits[i].reset();//这里可以不用reset 因为初始化就是0 没被改变过
for(int j=l;j<=r;j++)
{
bits[i]=bits[i]|(bits[i-1]<<j*j);
}
}
printf("%d\n",bits[n].count());
return 0;
}
bitset的函数: