QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#767993#9254. Random VariablesAyayaTL 277ms19500kbC++141.6kb2024-11-20 23:18:372024-11-20 23:18:38

Judging History

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

  • [2024-11-20 23:18:38]
  • 评测
  • 测评结果:TL
  • 用时:277ms
  • 内存:19500kb
  • [2024-11-20 23:18:37]
  • 提交

answer

#include<bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<array>
#include<unordered_map>
#include<vector>
#include<bitset>
#include<queue>
#include<set>
#include<map>
#include<ctime>
#include<random>
#include<numeric>
using namespace std;
#define int long long
#define ll long long
#define ull unsigned long long
#define lc (x<<1)
#define rc (x<<1|1)
#define pii pair<int,int>
#define mkp make_pair
#define fi first
#define se second
const int Mx=1005;
int read(){
	char ch=getchar();
	int Alice=0,Aya=1;
	while(ch<'0'||ch>'9'){
		if(ch=='-') Aya=-Aya;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
		Alice=(Alice<<3)+(Alice<<1)+(ch^48),ch=getchar();
	return (Aya==1?Alice:-Alice);
}
int n,m,p;
int binom[Mx][Mx];
int f[Mx][Mx],mxd;
int Calc(int M,int i,int j,int d){
	//cout<<i<<" "<<j<<endl;
	if(i==0) return 1;
	if(f[i][d]) return f[i][d];
	if(i<=M) return f[i][d]=j*Calc(M,i-1,j,d)%p;
	else return f[i][d]=j*(Calc(M,i-1,j,d)-binom[i-1][M]*Calc(M,i-M-1,j-1,d+1)%p)%p;
}
void Solve(){
	n=read(),m=read();
	int ans=0;
	int lst=0;
	for(int M=1;M<=n;M++){
		for(int i=0;i<=n;i++) for(int j=0;j<=n/M;j++) f[i][j]=0;
		int v=Calc(M,n,m,0);
		(ans+=(v-lst)*M%p)%=p;
		lst=v;
	}
	cout<<(ans+p)%p<<endl;
}
signed main(){
	int T=read();
	p=read();
	for(int i=0;i<Mx;i++){
		binom[i][0]=1;
		for(int j=1;j<=i;j++) binom[i][j]=(binom[i-1][j-1]+binom[i-1][j])%p;
	}
	while(T--) Solve();
	return 0;
}
/*
Hello!!
Sample:
3 123456789
3 2
5 5
7 7
-------------------
*/


Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 11752kb

input:

3 123456789
3 2
5 5
7 7

output:

18
7145
2066323

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 0ms
memory: 11896kb

input:

100 2
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

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

result:

ok 100 lines

Test #3:

score: 0
Accepted
time: 0ms
memory: 15316kb

input:

100 3
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
0
1
2
0
1
2
0
1
2
0
0
2
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
1
2
0
1
2
0
1
2
0
1
2
2
0
2
2
0
2
2
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
2
2
0
2
2
0
2
2
0
2
0
0
0
0
0
0
0
0
0
0
1
2
0
1
2
0
1
2
0
1

result:

ok 100 lines

Test #4:

score: 0
Accepted
time: 0ms
memory: 11672kb

input:

100 4
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
0
1
2
3
0
1
2
2
2
0
0
2
2
0
0
2
2
3
2
3
0
3
2
3
0
3
2
0
0
0
0
0
0
0
0
0
0
1
2
3
0
1
2
3
0
1
2
2
0
2
0
2
0
2
0
2
0
3
0
3
0
3
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
1
2
3
0
1
2
3
0
1
2
2
0
2
0
2
0
2
0
2
0

result:

ok 100 lines

Test #5:

score: 0
Accepted
time: 4ms
memory: 12828kb

input:

100 5
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
4
0
1
2
3
4
0
2
1
2
0
0
2
1
2
0
0
3
3
1
3
0
3
3
1
3
0
4
4
2
4
0
4
4
2
4
0
0
0
0
0
0
0
0
0
0
0
1
2
3
4
0
1
2
3
4
0
2
3
3
2
0
2
3
3
2
0
3
4
1
2
0
3
4
1
2
0
4
4
4
4
0
4
4
4
4
0
0
0
0
0
0
0
0
0
0
0

result:

ok 100 lines

Test #6:

score: 0
Accepted
time: 4ms
memory: 11728kb

input:

100 6
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
4
5
0
1
2
3
4
2
0
0
2
0
0
2
0
0
2
3
0
3
0
3
0
3
0
3
0
4
2
0
4
2
0
4
2
0
4
5
2
3
2
5
0
5
2
3
2
0
0
0
0
0
0
0
0
0
0
1
0
3
4
3
0
1
0
3
4
2
2
0
2
2
0
2
2
0
2
3
0
3
0
3
0
3
0
3
0
4
2
0
4
2
0
4
2
0
4

result:

ok 100 lines

Test #7:

score: 0
Accepted
time: 2ms
memory: 13388kb

input:

100 7
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
4
5
6
0
1
2
3
2
6
5
6
2
0
0
2
6
5
3
4
2
3
6
3
0
3
4
2
4
2
3
5
2
5
0
4
2
3
5
5
3
6
5
4
0
5
5
3
6
0
6
1
1
6
0
6
0
6
0
0
0
0
0
0
0
0
0
0
1
2
3
4
5
6
0
1
2
3
2
1
4
4
1
2
0
2
1
4
3
3
4
3
4
4
0
3
3
4

result:

ok 100 lines

Test #8:

score: 0
Accepted
time: 0ms
memory: 11636kb

input:

100 8
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

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

result:

ok 100 lines

Test #9:

score: 0
Accepted
time: 0ms
memory: 12484kb

input:

100 9
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 2...

output:

1
2
3
4
5
6
7
8
0
1
2
6
3
2
3
6
2
0
0
2
3
0
6
0
6
3
6
3
0
3
4
8
3
4
5
6
4
2
0
4
5
2
0
2
8
0
8
5
0
5
6
0
0
6
0
0
6
0
0
6
7
3
6
1
3
3
4
3
0
7
8
8
6
5
8
3
2
8
0
8
0
0
0
0
0
0
0
0
0
0
1
8
3
4
2
6
7
5
0
1

result:

ok 100 lines

Test #10:

score: 0
Accepted
time: 4ms
memory: 15204kb

input:

100 10
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 ...

output:

1
2
3
4
5
6
7
8
9
0
2
6
2
0
0
2
6
2
0
0
3
8
1
8
5
8
3
6
3
0
4
4
2
4
0
4
4
2
4
0
5
0
5
0
5
0
5
0
5
0
6
2
8
4
0
6
2
8
4
0
7
8
3
2
5
2
3
8
7
0
8
4
6
2
0
8
4
6
2
0
9
4
9
4
5
4
9
4
9
0
0
0
0
0
0
0
0
0
0
0

result:

ok 100 lines

Test #11:

score: 0
Accepted
time: 0ms
memory: 13060kb

input:

100 11
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 10
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
6 10
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
7 10
8 1
8 ...

output:

1
2
3
4
5
6
7
8
9
10
2
6
1
9
8
9
1
6
2
0
3
7
7
9
8
10
10
3
6
3
4
0
5
5
10
10
8
9
9
6
5
0
4
10
6
7
10
4
2
7
6
10
4
5
3
2
0
7
2
5
7
5
2
8
6
1
6
0
3
6
8
6
6
3
2
4
8
3
6
9
9
8
10
2
8
6
10
9
3
1
10
0
4
3
0
6
0
7
4
9

result:

ok 100 lines

Test #12:

score: 0
Accepted
time: 216ms
memory: 19492kb

input:

10 972033073
576 523187654
758 588616188
30 532959085
476 481773028
573 76725430
520 142462406
865 820120297
687 526533288
913 38106557
67 924529654

output:

259748390
909910217
708973357
300073565
463921261
889897372
587262932
255642402
868975954
14589849

result:

ok 10 lines

Test #13:

score: 0
Accepted
time: 277ms
memory: 19400kb

input:

10 922366485
846 278501607
683 609355362
44 978777279
545 730718412
926 323835432
883 761846029
623 408215612
989 588832935
449 743830620
259 183431187

output:

461786112
672633342
164805246
547995105
9661617
154501063
370848893
402005970
886523490
435107511

result:

ok 10 lines

Test #14:

score: 0
Accepted
time: 273ms
memory: 19448kb

input:

10 13890975
949 837425969
667 981449995
991 564074312
501 604745038
593 640307170
128 408163542
80 976891742
930 710947599
852 333118419
250 333252788

output:

3898759
9290500
7087084
4913904
196250
1746549
9627740
8673120
10274253
10549775

result:

ok 10 lines

Test #15:

score: 0
Accepted
time: 145ms
memory: 19500kb

input:

10 105576445
649 937885257
141 713063090
253 716966251
845 330657011
347 664392407
810 50478969
389 530582574
228 199722046
85 256258366
605 3721959

output:

22721419
27962190
85541228
53950260
35288938
100176945
86409840
102331663
55591445
14790745

result:

ok 10 lines

Test #16:

score: -100
Time Limit Exceeded

input:

10 445185474
268 687201814
929 296077349
690 202741564
372 661889855
442 989604795
367 456833096
702 862601129
795 37538865
556 131444040
108 645857776

output:


result: