牛客练习赛22-C-dp+bitset
2018-07-14 13:26
337 查看
链接:https://www.nowcoder.com/acm/contest/132/C
来源:牛客网
题目描述
一共有 n个数,第 i 个数是 xi xi 可以取 [li, ri] 中任意的一个值。 设 ,求 S 种类数。输入描述:
第一行一个数 n。i
然后 n 行,每行两个数表示 l
,ri。
输出描述:
输出一行一个数表示答案。示例1
输入
复制5 1 2 2 3 3 4 4 5 5 6
输出
复制26
备注:
1 ≤ n , li
, ri
≤ 100
推出了方程但是复杂度太高想不出优化,后来才知道是bitset,一直没用过这个= =
f[i][j]表示累加完第i个数之后S为j是否可行,由于只涉及0和1所以考虑bitset优化瞎搞。
#include<bits/stdc++.h> using namespace std; bitset<1000010>f[2]; int l[110],r[110]; int main(){ int n,i,j,k; while(cin>>n){ for(i=1;i<=n;++i) cin>>l[i]>>r[i]; f[0][0]=1; for(i=1;i<=n;++i){ f[i%2]=0; for(j=l[i];j<=r[i];++j){ f[i%2]|=(f[(i%2)^1]<<(j*j)); } } cout<<f[n%2].count()<<endl; } return 0; }
相关文章推荐
- 牛客练习赛14D bitset最短路
- UVALive 7392 Bundles of Joy【bitset】【类树形DP】【杂题】
- HDU 5036 Explosion (bitset + DP)
- USACO 状压DP练习[3]
- 牛客练习赛13 E 乌龟跑步 (dp)
- poj1463--hdu1054--Strategic Game(树形DP练习4)
- 【NOIP2016练习】T3 subset (分块,状压DP)
- dp练习 2016.2.24
- 【NOIP2017练习】怎样学习哲学(计数,DP)
- 2018年全国多校算法寒假训练营练习比赛(第二场) E 小G有一个大树(树状DP 未解决)
- 算法练习 -- DP C# 实现 全组合算法
- 2016夏季练习——dp
- [数位DP 高精度 拓扑排序 bitset] BZOJ 2913 [Poi1997]XOR Gates
- 牛客练习赛7 购物 DP 初始化问题
- 概率dp练习 (16.04.25)
- 【bzoj3687】简单题 背包dp+STL-bitset
- HDU--dp练习--1001--Robberies
- HDU--dp练习--1013--免费馅饼
- ssl2295-暗黑破坏神【dp练习】
- 牛客练习题目