HDU-4737-A Bit Fun
2013-09-16 16:13
288 查看
当时比赛的时候想了好久,想复杂了,反正各种悲剧,后来才发现比较简单,只需要维护头尾区间即可
代码:
代码:
#include<cstdio> #include<cstring> #include<iostream> using namespace std; const int maxn=31; const int maxm=101000; int n,m,a[maxm],cnt[maxn]; int main() { int T,cas=1; scanf("%d",&T); while(T--) { memset(cnt,0,sizeof(cnt)); scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&a[i]); int ans=0,num=0,pre=1; for(int i=1;i<=n;i++) { num|=a[i]; for(int j=0;j<30;j++) if(a[i]&(1<<j)) cnt[j]++; while(pre<=i&&num>=m) { ans+=i-pre; for(int j=0;j<30;j++) if(a[pre]&(1<<j)) { cnt[j]--; if(!cnt[j]) num^=(1<<j); } pre++; } } for(int i=pre;i<=n;i++) ans+=n-i+1; printf("Case #%d: %d\n",cas++,ans); } return 0; }
相关文章推荐
- hdu 4737 A Bit Fun 尺取法
- HDU-4737-A Bit Fun-TwoPointer
- hdu 4737 A Bit Fun || 2013 ACM/ICPC Asia Regional Chengdu Online || 简单题
- HDU 4737 A Bit Fun
- HDU 4737 A Bit Fun
- hdu 4737 A Bit Fun
- hdu 4737 A Bit Fun 暴力
- HDU 4737 A Bit Fun 水暴力
- hdu 4737 A Bit Fun 数列(2013 ACM/ICPC Asia Regional Chengdu Online 1010)
- hdu 4737 A Bit Fun 2013成都赛区网络赛最后一题
- HDU - 4737 A Bit Fun 暴力水题
- hdu 4737 A Bit Fun
- hdu 4737 A Bit Fun
- 单调性优化-hdu-4737-A Bit Fun
- HDU-4737 A Bit Fun 维护
- hdu 4737 A Bit Fun
- HDU 4737 A Bit Fun 2013成都 网络赛 1010
- HDU 4737 A Bit Fun 解题报告
- 2013成都网赛1010 hdu 4737 A Bit Fun
- hdu 4737 (A Bit Fun) 异或