求助QAQ
我想知道这道题的解题思路QAQ
这是我看的别人的代码,但是没有看懂
#include<bitset>
#include<stdio.h>
using namespace std;
bitset<1000005>ans,tmp;
int n,l,r;
int main(void)
{
ans[0]=1;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
tmp.reset();
scanf("%d%d",&l,&r);
for(int j=l;j<=r;j++)
tmp=tmp|(ans<<j*j);
ans=tmp;
}
printf("%d\n",ans.count());
return 0;
}
#include<stdio.h>
using namespace std;
bitset<1000005>ans,tmp;
int n,l,r;
int main(void)
{
ans[0]=1;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
tmp.reset();
scanf("%d%d",&l,&r);
for(int j=l;j<=r;j++)
tmp=tmp|(ans<<j*j);
ans=tmp;
}
printf("%d\n",ans.count());
return 0;
}