J - A Bit Fun-----(2015 summer training #9)
2015-08-14 13:21
459 查看
J - A Bit Fun
时限:2500MS 内存:32768KB 64位IO格式:%I64d
& %I64u
问题描述
There are n numbers in a array, as a 0, a 1 ...
, a n-1, and another number m. We define a function f(i, j) = a i|a i+1|a i+2|
... | a j . Where "|" is the bit-OR operation. (i <= j)
The problem is really simple: please count the number of different pairs of (i, j) where f(i, j) < m.
输入
The first line has a number T (T <= 50) , indicating the number of test cases.
For each test case, first line contains two numbers n and m.(1 <= n <= 100000, 1 <= m <= 2 30) Then n numbers come in the second line which is the
array a, where 1 <= a i <= 2 30.
输出
For every case, you should output "Case #t: " at first, without quotes. The t is the case number starting from 1.
Then follows the answer.
样例输入
样例输出
分析:或运算只会越计算越大,值是一个递增的,所以中间必有一个分界点,找到就ok了。
CODE:
时限:2500MS 内存:32768KB 64位IO格式:%I64d
& %I64u
问题描述
There are n numbers in a array, as a 0, a 1 ...
, a n-1, and another number m. We define a function f(i, j) = a i|a i+1|a i+2|
... | a j . Where "|" is the bit-OR operation. (i <= j)
The problem is really simple: please count the number of different pairs of (i, j) where f(i, j) < m.
输入
The first line has a number T (T <= 50) , indicating the number of test cases.
For each test case, first line contains two numbers n and m.(1 <= n <= 100000, 1 <= m <= 2 30) Then n numbers come in the second line which is the
array a, where 1 <= a i <= 2 30.
输出
For every case, you should output "Case #t: " at first, without quotes. The t is the case number starting from 1.
Then follows the answer.
样例输入
2 3 6 1 3 5 2 4 5 4
样例输出
Case #1: 4 Case #2: 0
分析:或运算只会越计算越大,值是一个递增的,所以中间必有一个分界点,找到就ok了。
CODE:
#include <iostream> using namespace std; int main() { int t,cases=0,arr[100005]; cin>>t; while(t--){ int n,m; cin>>n>>m; cases++; for(int i=0;i<n;i++) cin>>arr[i]; cout<<"Case #"<<cases<<": "; int cnt=0; long long ans; for(int i=0;i<n;i++){ ans=0; for(int j=i;j<n;j++){ ans=ans|arr[j]; cnt++; if(ans>=m){ cnt--; break; } } } cout<<cnt<<endl; } return 0; }
相关文章推荐
- SGU183 Painting the balls(DP+优化)
- D - Minimum palindrome----(2015 summer training #9)
- C - We Love MOE Girls-----(2015 summer training #9)
- B - Median-----(2015 summer training #8(Qualifying))
- Could not connect to '10.7.100.182' (port 22): Connection failed
- HIT 2060 Fibonacci Problem Again
- LeetCode Factorial Trailing Zeroes
- LeetCode Factorial Trailing Zeroes
- epoll_create, epoll_ctl和epoll_wait
- 2015 Multi-University Training Contest 2(hdu 5300 - hdu 5309)
- Clock Skew , Clock Uncertainty和 Period
- libvirtError: no connection driver available for qemu:///system 解决办法
- 2015 Multi-University Training Contest 8 hdu 5384 Danganronpa
- tools:context=".MainActivity的作用
- 使用Grails快速开发Web应用程序
- 构建您的第一个Grails 应用程序
- 2015 Multi-University Training Contest 1(hdu 5288 - hdu 5299)
- hdu1021Fibonacci Again找规律
- PS和AI软件区别
- HDU - 3394 Railway(连通分量+环)