1035 简单瞎搞题 线性DP bitset
分析:
很明显的一道线性DP,就类似装箱问题
不过时间复杂度和空间复杂度太大了,就得用到bitset<N>
N最多开到1e7,不过开到1e7会报错(可能太大了),开到1e6 也会报错
//-------------------------代码----------------------------
//#define int LL
const int N =1001000;
int n,m;
void solve()
{
cin>>n;
bitset<N> ans;int l,r;
cin>>l>>r;
for(int i = l;i<=r;i++) ans[i * i] = 1;
for(int i = 1;i<n;i++) {
cin>>l>>r;
bitset<N> tmp;
for(int j = l;j<=r;j++) {
tmp |= ans << j * j;
}
ans = tmp;
}
cout<<ans.count();
rt;
}
signed main(){
clapping();TLE;
// int t;cin>>t;while(t -- )
solve();
// {solve(); }
return 0;
}
/*样例区
*/
//------------------------------------------------------------