QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#308941#8129. Binary Sequenceucup-team2303#AC ✓24ms4592kbC++111.4kb2024-01-20 13:54:172024-01-20 13:54:17

Judging History

你现在查看的是最新测评结果

  • [2024-01-20 13:54:17]
  • 评测
  • 测评结果:AC
  • 用时:24ms
  • 内存:4592kb
  • [2024-01-20 13:54:17]
  • 提交

answer

/*
60 + 0 + 100 + 64 = 224.
*/

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define L(i, j, k) for (int i = (j); i <= (k); i++)
#define R(i, j, k) for (int i = (j); i >= (k); i--)
#define pb push_back
#define pii pair<int, int>
inline int read()
{
	int sum = 0, nega = 1;
	char ch = getchar();
	while (ch > '9'||ch < '0')
	{
	    if (ch == '-') nega = -1;
		ch = getchar();
	}
	while (ch <= '9' && ch >= '0') sum = sum * 10 + ch - '0', ch = getchar();
	return sum * nega;
}
const int N = 2e6 + 9, mod = 998244353, Lim = 1e6;
inline void add(int &x, int y) {x = (x + y) % mod;}
inline void del(int &x, int y) {x = (x - y + mod) % mod;}
bitset<N * 2> B[59];
int len[59], t;
inline void init()
{
	L(i, 1, 1000)
	{
		if(i >= t && t) break;
		if(len[i] > Lim && !t) t = i + 1;
		int nw = 1;
		L(j, 1, len[i])
		{
			if(B[i][j] != B[i][j - 1] || j == len[i])
			{
				B[i + 1][len[i + 1]++] = B[i][j - 1];
				while(nw) B[i + 1][len[i + 1]++] = (nw & 1), nw /= 2;
				nw = 1;
			}
			else nw++;
		}
	//	if(i <= 19)
	//	{
	//		L(j, 0, 10) cout << B[i][j]; cout << endl;
	//	}
	}
	return ;
}
signed main()
{
	len[1] = 1, B[1][0] = 1; init();
	int Q = read();
	L(i, 1, Q)
	{
		int n = read(), m = read();
		if(n >= t)
		{
			if(n % 2 == t % 2) n = t;
			else n = t - 1;
			printf("%d\n", (int)B[n][m]);
		}
		else printf("%d\n", (int)B[n][m]);
	}
	return 0;
}


这程序好像有点Bug,我给组数据试试?

详细

Test #1:

score: 100
Accepted
time: 11ms
memory: 4560kb

input:

10
4 0
4 1
4 2
4 3
4 4
4 5
4 6
6 3
6 7
118999881999119725 3

output:

1
1
0
1
1
1
0
1
1
0

result:

ok 10 numbers

Test #2:

score: 0
Accepted
time: 10ms
memory: 4592kb

input:

10
28 69772
10 7908
4 3198
4 85913
14 52729
3 20445
9 88912
17 23743
25 37356
2 97697

output:

0
0
0
0
0
0
0
0
0
0

result:

ok 10 numbers

Test #3:

score: 0
Accepted
time: 13ms
memory: 4540kb

input:

100
29 110358
18 13645
18 590344
36 550462
11 133055
8 769352
11 265432
7 158530
12 29189
2 830361
11 584395
31 693707
7 879812
19 25069
21 616926
3 85158
31 675739
17 118385
24 315535
29 59615
10 33445
17 609235
8 738138
20 209540
4 287616
32 522302
26 959741
5 453537
27 74313
28 296289
28 857972
2...

output:

0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0

result:

ok 100 numbers

Test #4:

score: 0
Accepted
time: 24ms
memory: 4592kb

input:

100000
702433635413308636 962533
864089450531108488 538792
262747333715821506 454514
859830947243984718 105219
365621373252206174 447331
890829905503831899 507146
116987306031929573 154370
157986473366693144 364746
502917586764426513 49981
874588963478161584 594867
467219058104100510 790503
11034861...

output:

1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
0
1
...

result:

ok 100000 numbers

Extra Test:

score: 0
Extra Test Passed