QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#874880#9689. 伪伪随机lgvc100 ✓380ms14460kbC++232.5kb2025-01-28 18:57:482025-01-28 18:57:50

Judging History

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

  • [2025-01-28 18:57:50]
  • 评测
  • 测评结果:100
  • 用时:380ms
  • 内存:14460kb
  • [2025-01-28 18:57:48]
  • 提交

answer

#include "prg.h"
#include <bits/stdc++.h>
int hd[1009],to[3009],nxt[3009],val[3009],kk;
void l(int u,int v,int w) {
	to[++kk]=v;nxt[kk]=hd[u];val[kk]=w;hd[u]=kk;
}
std::array<std::vector<int>, 3000>  xt;
int K;
bool cmp(int a,int b) {
	return std::max(xt[a][K-1],xt[a][K-2])<std::max(xt[b][K-1],xt[b][K-2]);
}
int vii[2][2000009];
int solve(int n, int m, int k, std::vector<int> op, std::array<std::vector<int>, 3000> x, 
	int c, std::array<std::array<int, 3000>, 25> s) {
	K=k;xt=x;
	int as=0;
	for(int i=1;i<=25;i++) {
		for(int j=1;j<=3000;j++) {
			if(s[i-1][j-1]==1) as++;
		}
	}
	if(op[k-2]!=2) {
		if(as>=35000&&as<=40000) return 1;
		return 2;
	}
	if(op[k-3]!=2) {
		int vv=0;
		std::vector<int> t[1009];
		for(int j=1;j<=25;j++) {
			int as=0;
			for(int i=0;i<=1000;i++) t[i]=t[1001];
			for(int i=1;i<=3000;i++) {
				t[x[i-1][k-1]].push_back(i);
				if(s[j-1][i-1]==1) as++;
			}
			for(int i=0;i<=1000;i++) {
				int as=0;
				for(int jj=0;jj<t[i].size();jj++) {
					as+=s[j-1][t[i][jj]-1];
				}
				vv+=std::min(as,(signed)t[i].size()-as);
			}
		}
		if(vv<=20000||vv>=55000) return 2;
		return 1; 
	}
	int p[3009],c1=0,c2=0,vi[1009]={0},v2[1009]={0},tt=0,c3=0,c4=0,c5=0,c6=0;
	std::mt19937 rng(114);
	for(int i=0;i<25;i++) {
		for(int j=0;j<1000;j++) hd[j]=0;
		kk=0;
		for(int j=0;j<3000;j++) {
			int p1=x[j][k-1],p2=x[j][k-2];
			if(p1>p2) std::swap(p1,p2);
			int ss=1009*p1+p2;
			c3+=vii[s[i][j]][ss];
			c4+=vii[1-s[i][j]][ss];
			vii[s[i][j]][ss]++;
			l(p1,p2,(s[i][j]^op[0]));
		}
		for(int j=0;j<3000;j++) {
			int p1=x[j][k-1],p2=x[j][k-2];
			if(p1>p2) std::swap(p1,p2);
			int ss=1009*p1+p2;
			vii[s[i][j]][ss]=0;
		}
		for(int i=0;i<1000;i++) {
			tt++;
			for(int j=hd[i];j;j=nxt[j]) {
				vi[to[j]]=tt;
				v2[to[j]]=val[j];
			}
			for(int j=hd[i];j;j=nxt[j]) {
				for(int k=hd[to[j]];k;k=nxt[k]) {
					if(vi[to[k]]==tt) {
						if((val[j]^val[k]^v2[to[k]])==0) c1++;
						else c2++;
					}
					for(int l=hd[to[k]];l;l=nxt[l]) {
						if(vi[to[l]]==tt) {
							if((val[j]^val[k]^val[l]^v2[to[l]])==0) c5++;
							else c6++;
						}
					}
				}
			}
		}
	}
	long double g1=1;
	while(c1||c2) {
		if(((c1==0)||(g1>1))&&c2) {
			c2--;
			g1=g1*7/8;
		} else {
			c1--;
			g1=g1*9/8;
		} 
	}
	while(c3||c4) {
		if(((c3==0)||(g1>1))&&c4) {
			c4--;
			g1=g1*3/4;
		} else {
			c3--;
			g1=g1*5/4;
		} 
	}
	while(c5||c6) {
		if(((c5==0)||(g1>1))&&c6) {
			c6--;
			g1=g1*15/16;
		} else {
			c5--;
			g1=g1*17/16;
		} 
	}
	if(g1>=1) return 2;
	return 1;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

15478345200793503450
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #2:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

8777328773999050296
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #3:

score: 5
Accepted
time: 37ms
memory: 4736kb

input:

8306860370301473558
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #4:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

7355535262167792602
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #5:

score: 5
Accepted
time: 38ms
memory: 4736kb

input:

5901033176077457090
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #6:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

6725216784977925179
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #7:

score: 5
Accepted
time: 35ms
memory: 4736kb

input:

15228205213107479514
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #8:

score: 5
Accepted
time: 34ms
memory: 4736kb

input:

10794704323727532585
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #9:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

1531863096801291235
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #10:

score: 5
Accepted
time: 35ms
memory: 4736kb

input:

12583269177593428071
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #11:

score: 5
Accepted
time: 35ms
memory: 4736kb

input:

17884260014537450829
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #12:

score: 5
Accepted
time: 37ms
memory: 4736kb

input:

5598933293992250528
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #13:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

15029988260575536839
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #14:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

18435900855108017468
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #15:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

4740054765891404200
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #16:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

14854659461851577578
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #17:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

11860421814773748892
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #18:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

2618043996784533224
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #19:

score: 5
Accepted
time: 35ms
memory: 4736kb

input:

4729099511370153840
1237460 18364524
21312414

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #20:

score: 5
Accepted
time: 36ms
memory: 4736kb

input:

6142100148239098773
1237460 18364524
21312413

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Subtask #2:

score: 15
Accepted

Test #21:

score: 15
Accepted
time: 84ms
memory: 4608kb

input:

15644456504653888385
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #22:

score: 15
Accepted
time: 82ms
memory: 4736kb

input:

17525409403797767860
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #23:

score: 15
Accepted
time: 85ms
memory: 4736kb

input:

16953002163903257386
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #24:

score: 15
Accepted
time: 82ms
memory: 4736kb

input:

788278265436010907
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #25:

score: 15
Accepted
time: 87ms
memory: 4736kb

input:

15540481379750277983
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #26:

score: 15
Accepted
time: 83ms
memory: 4736kb

input:

9015247799051510708
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #27:

score: 15
Accepted
time: 84ms
memory: 4736kb

input:

14718463813137865720
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #28:

score: 15
Accepted
time: 43ms
memory: 4736kb

input:

9626039215908894536
1237461 18364524
21312415 32673239

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #29:

score: 15
Accepted
time: 40ms
memory: 4736kb

input:

15367994199069034681
1237461 18364524
21312414 32673236

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #30:

score: 15
Accepted
time: 83ms
memory: 4736kb

input:

9815994743565449906
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #31:

score: 15
Accepted
time: 85ms
memory: 4480kb

input:

5076972403022378194
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #32:

score: 15
Accepted
time: 86ms
memory: 4736kb

input:

13523311479884920883
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #33:

score: 15
Accepted
time: 86ms
memory: 4480kb

input:

15452059373617333584
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #34:

score: 15
Accepted
time: 83ms
memory: 4736kb

input:

8631381148034308695
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #35:

score: 15
Accepted
time: 85ms
memory: 4736kb

input:

5422315179829169150
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #36:

score: 15
Accepted
time: 88ms
memory: 6776kb

input:

4361249126136426961
1237461 18364524
21312413 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #37:

score: 15
Accepted
time: 86ms
memory: 4736kb

input:

6976800422460576686
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #38:

score: 15
Accepted
time: 84ms
memory: 4736kb

input:

8552184079474065172
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #39:

score: 15
Accepted
time: 84ms
memory: 4736kb

input:

1598183902825082255
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #40:

score: 15
Accepted
time: 90ms
memory: 4736kb

input:

3317147437384062467
1237461 18364524
21312414 32673238

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Subtask #3:

score: 30
Accepted

Test #41:

score: 30
Accepted
time: 78ms
memory: 12416kb

input:

18096446825184275106
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #42:

score: 30
Accepted
time: 66ms
memory: 12160kb

input:

14902425508262229602
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #43:

score: 30
Accepted
time: 85ms
memory: 12288kb

input:

15139748546799860644
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #44:

score: 30
Accepted
time: 86ms
memory: 12416kb

input:

9307674455823252809
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #45:

score: 30
Accepted
time: 88ms
memory: 14328kb

input:

3661511870465233329
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #46:

score: 30
Accepted
time: 76ms
memory: 12288kb

input:

9635149641212141231
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #47:

score: 30
Accepted
time: 81ms
memory: 12544kb

input:

8623126583531512280
1237458 18364525

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #48:

score: 30
Accepted
time: 87ms
memory: 12416kb

input:

17542991876646715766
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #49:

score: 30
Accepted
time: 81ms
memory: 12544kb

input:

11509469256784773735
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #50:

score: 30
Accepted
time: 81ms
memory: 14460kb

input:

15187255126140633228
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #51:

score: 30
Accepted
time: 66ms
memory: 12288kb

input:

5596351031354288494
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #52:

score: 30
Accepted
time: 73ms
memory: 12416kb

input:

1956884572310497827
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #53:

score: 30
Accepted
time: 91ms
memory: 12544kb

input:

1848311009363078904
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #54:

score: 30
Accepted
time: 77ms
memory: 12544kb

input:

7958126186516090968
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #55:

score: 30
Accepted
time: 84ms
memory: 12416kb

input:

14895520484903877251
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #56:

score: 30
Accepted
time: 107ms
memory: 14324kb

input:

252125976313631579
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #57:

score: 30
Accepted
time: 106ms
memory: 12544kb

input:

8822075999373790379
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #58:

score: 30
Accepted
time: 77ms
memory: 12416kb

input:

12301960690081072082
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #59:

score: 30
Accepted
time: 81ms
memory: 12416kb

input:

6580770166803301984
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #60:

score: 30
Accepted
time: 88ms
memory: 12544kb

input:

11293302044901951261
1237458 18364525

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Subtask #4:

score: 50
Accepted

Test #61:

score: 50
Accepted
time: 376ms
memory: 12672kb

input:

6934415118162240981
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #62:

score: 50
Accepted
time: 373ms
memory: 12544kb

input:

3842633665807973417
1237458 18364524
21312413 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #63:

score: 50
Accepted
time: 374ms
memory: 12544kb

input:

7239866286946328663
1237458 18364524
21312414 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #64:

score: 50
Accepted
time: 380ms
memory: 12544kb

input:

7703816040948127846
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #65:

score: 50
Accepted
time: 373ms
memory: 12544kb

input:

3603384166177697472
1237458 18364524
21312413 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #66:

score: 50
Accepted
time: 371ms
memory: 12416kb

input:

3656923047342207392
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #67:

score: 50
Accepted
time: 372ms
memory: 12544kb

input:

527459705711820317
1237458 18364524
21312413 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #68:

score: 50
Accepted
time: 372ms
memory: 12672kb

input:

9663120536403908130
1237458 18364524
21312413 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #69:

score: 50
Accepted
time: 88ms
memory: 4736kb

input:

9439840407846051020
1237458 18364524
21312414 32673236 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #70:

score: 50
Accepted
time: 372ms
memory: 12544kb

input:

13809961864883455849
1237458 18364524
21312413 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #71:

score: 50
Accepted
time: 376ms
memory: 12416kb

input:

15124215729371202231
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #72:

score: 50
Accepted
time: 377ms
memory: 12672kb

input:

7117551168813448970
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #73:

score: 50
Accepted
time: 375ms
memory: 12544kb

input:

5561290863673255532
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #74:

score: 50
Accepted
time: 373ms
memory: 12416kb

input:

13802789789482912767
1237458 18364524
21312414 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #75:

score: 50
Accepted
time: 373ms
memory: 12544kb

input:

9913943612955590097
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #76:

score: 50
Accepted
time: 374ms
memory: 12672kb

input:

9308648462630523956
1237458 18364524
21312414 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #77:

score: 50
Accepted
time: 374ms
memory: 12544kb

input:

7898242699188216716
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #78:

score: 50
Accepted
time: 370ms
memory: 12544kb

input:

17772607140853820910
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.

Test #79:

score: 50
Accepted
time: 376ms
memory: 12544kb

input:

3917596392610036445
1237458 18364524
21312413 32673238 236176120

output:

126534126

result:

ok Perfect. Correct in 99 tests.

Test #80:

score: 50
Accepted
time: 374ms
memory: 12544kb

input:

7049562837957796004
1237458 18364524
21312414 32673238 236176120

output:

126534127

result:

ok Perfect. Correct in 100 tests.