QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#934401 | #9689. 伪伪随机 | csyakuoi | 70.975899 | 206ms | 35272kb | C++14 | 2.2kb | 2025-03-14 18:53:22 | 2025-03-14 18:53:23 |
Judging History
answer
#include"prg.h"
#include<vector>
#include<cmath>
#include<ctime>
#include<cstdlib>
using namespace std;
double solve(int n,int m,double p)
{
double a=1,b=1,c=1,d=1;
for(int i=0;i<m;i++){
a*=p; c*=1-p;
}
for(int i=0;i<n-m;i++){
b*=1-p; d*=p;
}
return log2(a*b+c*d);
}
vector<int> to[1000],id[1000];
vector<int> ed[1000][1000];
int solve(int n,int m,int k,vector<int> op,array<vector<int>,3000> arr,int T,array<array<int,3000>,25> res)
{
if(op[k-2]!=2){
int cnt=0;
for(int i=0;i<T;i++)
for(int j=0;j<m;j++)
cnt+=res[i][j];
if(cnt<35000||cnt>40000)
return 2;
return 1;
}
for(int i=0;i<n;i++)
id[i].clear();
if(k<4||op[1]!=2){
double p1=0.5,p2=0.75;
if(k==4&&op[0]!=2&&op[1]!=2){
if(op[1]==op[2]) p2=0.875;
else p2=0.625;
}
double E1=0.0,E2=0.0;
for(int i=0;i<m;i++)
id[arr[i][k-1]].push_back(i);
for(int i=0;i<n;i++)
for(int t=0;t<T;t++){
int p=id[i].size(),cnt=0;
for(int j=0;j<p;j++)
cnt+=res[t][id[i][j]];
E1+=solve(p,cnt,p1);
E2+=solve(p,cnt,p2);
}
if(E2>E1) return 2;
return 1;
}
double E1=0.0,E2=0.0;
for(int i=0;i<n;i++){
to[i].clear();
for(int j=i+1;j<n;j++)
ed[i][j].clear();
}
for(int i=0;i<m;i++){
int a=arr[i][2],b=arr[i][3];
to[a].push_back(b);
to[b].push_back(a);
id[a].push_back(i);
id[b].push_back(i);
if(a>b) swap(a,b);
ed[a][b].push_back(i);
}
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(ed[i][j].size()>=2){
int c0=ed[i][j][0],c1=ed[i][j][1];
for(int t=0;t<T;t++){
E2+=log2(0.5);
if(res[t][c0]==res[t][c1]) E1+=log2(0.625);
else E1+=log2(0.375);
}
}
for(int i=0;i<n;i++)
for(int j=0;j<to[i].size();j++)
for(int k=j+1;k<to[i].size();k++){
int x=to[i][j],y=to[i][k];
if(x>y) swap(x,y);
for(int p=0;p<ed[x][y].size();p++){
int a=ed[x][y][p];
if(a==-1) continue;
int b=id[i][j],c=id[i][k];
if(b>c) swap(b,c);
for(int t=0;t<T;t++){
int v=res[t][a]^res[t][b]^res[t][c];
E2+=log2(0.5);
if(op[0]^v) E1+=log2(0.4325);
else E1+=log2(0.5675);
}
}
}
if(E1>E2) 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: 41ms
memory: 27940kb
input:
15478345200793503450 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #2:
score: 5
Accepted
time: 42ms
memory: 28028kb
input:
8777328773999050296 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #3:
score: 5
Accepted
time: 41ms
memory: 27944kb
input:
8306860370301473558 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #4:
score: 5
Accepted
time: 39ms
memory: 28036kb
input:
7355535262167792602 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #5:
score: 5
Accepted
time: 41ms
memory: 27932kb
input:
5901033176077457090 1237460 18364524 21312413
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #6:
score: 5
Accepted
time: 40ms
memory: 27924kb
input:
6725216784977925179 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #7:
score: 5
Accepted
time: 41ms
memory: 28008kb
input:
15228205213107479514 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #8:
score: 5
Accepted
time: 41ms
memory: 27904kb
input:
10794704323727532585 1237460 18364524 21312413
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #9:
score: 5
Accepted
time: 40ms
memory: 27908kb
input:
1531863096801291235 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #10:
score: 5
Accepted
time: 42ms
memory: 28012kb
input:
12583269177593428071 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #11:
score: 5
Accepted
time: 38ms
memory: 27816kb
input:
17884260014537450829 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #12:
score: 5
Accepted
time: 40ms
memory: 28012kb
input:
5598933293992250528 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #13:
score: 5
Accepted
time: 41ms
memory: 27968kb
input:
15029988260575536839 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #14:
score: 5
Accepted
time: 41ms
memory: 27972kb
input:
18435900855108017468 1237460 18364524 21312413
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #15:
score: 5
Accepted
time: 41ms
memory: 27848kb
input:
4740054765891404200 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #16:
score: 5
Accepted
time: 43ms
memory: 27984kb
input:
14854659461851577578 1237460 18364524 21312413
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #17:
score: 5
Accepted
time: 42ms
memory: 28048kb
input:
11860421814773748892 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #18:
score: 5
Accepted
time: 41ms
memory: 28032kb
input:
2618043996784533224 1237460 18364524 21312413
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #19:
score: 5
Accepted
time: 40ms
memory: 28044kb
input:
4729099511370153840 1237460 18364524 21312414
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #20:
score: 5
Accepted
time: 42ms
memory: 28032kb
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: 100ms
memory: 28340kb
input:
15644456504653888385 1237461 18364524 21312413 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #22:
score: 15
Accepted
time: 100ms
memory: 28232kb
input:
17525409403797767860 1237461 18364524 21312413 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #23:
score: 15
Accepted
time: 102ms
memory: 28368kb
input:
16953002163903257386 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #24:
score: 15
Accepted
time: 100ms
memory: 28396kb
input:
788278265436010907 1237461 18364524 21312413 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #25:
score: 15
Accepted
time: 101ms
memory: 28264kb
input:
15540481379750277983 1237461 18364524 21312413 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #26:
score: 15
Accepted
time: 101ms
memory: 28348kb
input:
9015247799051510708 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #27:
score: 15
Accepted
time: 100ms
memory: 28216kb
input:
14718463813137865720 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #28:
score: 15
Accepted
time: 45ms
memory: 28008kb
input:
9626039215908894536 1237461 18364524 21312415 32673239
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #29:
score: 15
Accepted
time: 44ms
memory: 27988kb
input:
15367994199069034681 1237461 18364524 21312414 32673236
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #30:
score: 15
Accepted
time: 101ms
memory: 28272kb
input:
9815994743565449906 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #31:
score: 15
Accepted
time: 101ms
memory: 28396kb
input:
5076972403022378194 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #32:
score: 15
Accepted
time: 104ms
memory: 28408kb
input:
13523311479884920883 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #33:
score: 15
Accepted
time: 102ms
memory: 28248kb
input:
15452059373617333584 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #34:
score: 15
Accepted
time: 102ms
memory: 28328kb
input:
8631381148034308695 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #35:
score: 15
Accepted
time: 101ms
memory: 28308kb
input:
5422315179829169150 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #36:
score: 15
Accepted
time: 101ms
memory: 28240kb
input:
4361249126136426961 1237461 18364524 21312413 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #37:
score: 15
Accepted
time: 101ms
memory: 28228kb
input:
6976800422460576686 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #38:
score: 15
Accepted
time: 103ms
memory: 28340kb
input:
8552184079474065172 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #39:
score: 15
Accepted
time: 101ms
memory: 28172kb
input:
1598183902825082255 1237461 18364524 21312414 32673238
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #40:
score: 15
Accepted
time: 100ms
memory: 28340kb
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: 71ms
memory: 28996kb
input:
18096446825184275106 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #42:
score: 30
Accepted
time: 68ms
memory: 28544kb
input:
14902425508262229602 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #43:
score: 30
Accepted
time: 78ms
memory: 29168kb
input:
15139748546799860644 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #44:
score: 30
Accepted
time: 78ms
memory: 29320kb
input:
9307674455823252809 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #45:
score: 30
Accepted
time: 79ms
memory: 29092kb
input:
3661511870465233329 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #46:
score: 30
Accepted
time: 72ms
memory: 28968kb
input:
9635149641212141231 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #47:
score: 30
Accepted
time: 79ms
memory: 29176kb
input:
8623126583531512280 1237458 18364525
output:
126534126
result:
ok Perfect. Correct in 99 tests.
Test #48:
score: 30
Accepted
time: 78ms
memory: 28884kb
input:
17542991876646715766 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #49:
score: 30
Accepted
time: 74ms
memory: 29056kb
input:
11509469256784773735 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #50:
score: 30
Accepted
time: 79ms
memory: 29024kb
input:
15187255126140633228 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #51:
score: 30
Accepted
time: 70ms
memory: 28592kb
input:
5596351031354288494 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #52:
score: 30
Accepted
time: 74ms
memory: 28884kb
input:
1956884572310497827 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #53:
score: 30
Accepted
time: 81ms
memory: 29328kb
input:
1848311009363078904 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #54:
score: 30
Accepted
time: 74ms
memory: 28992kb
input:
7958126186516090968 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #55:
score: 30
Accepted
time: 74ms
memory: 29288kb
input:
14895520484903877251 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #56:
score: 30
Accepted
time: 80ms
memory: 29460kb
input:
252125976313631579 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #57:
score: 30
Accepted
time: 83ms
memory: 29808kb
input:
8822075999373790379 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #58:
score: 30
Accepted
time: 71ms
memory: 28744kb
input:
12301960690081072082 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #59:
score: 30
Accepted
time: 75ms
memory: 28708kb
input:
6580770166803301984 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #60:
score: 30
Accepted
time: 82ms
memory: 29236kb
input:
11293302044901951261 1237458 18364525
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Subtask #4:
score: 20.9759
Acceptable Answer
Test #61:
score: 50
Accepted
time: 199ms
memory: 35216kb
input:
6934415118162240981 1237458 18364524 21312414 32673238 236176120
output:
126534126
result:
ok Perfect. Correct in 99 tests.
Test #62:
score: 20.9759
Acceptable Answer
time: 206ms
memory: 35188kb
input:
3842633665807973417 1237458 18364524 21312413 32673238 236176120
output:
126534122
result:
points 0.4195179763 Correct Answer. Correct in 95 tests.
Test #63:
score: 37.5
Acceptable Answer
time: 192ms
memory: 35188kb
input:
7239866286946328663 1237458 18364524 21312414 32673238 236176120
output:
126534125
result:
points 0.75 Correct Answer. Correct in 98 tests.
Test #64:
score: 37.5
Acceptable Answer
time: 197ms
memory: 35264kb
input:
7703816040948127846 1237458 18364524 21312414 32673238 236176120
output:
126534125
result:
points 0.75 Correct Answer. Correct in 98 tests.
Test #65:
score: 50
Accepted
time: 192ms
memory: 35232kb
input:
3603384166177697472 1237458 18364524 21312413 32673238 236176120
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #66:
score: 37.5
Acceptable Answer
time: 193ms
memory: 35268kb
input:
3656923047342207392 1237458 18364524 21312414 32673238 236176120
output:
126534125
result:
points 0.75 Correct Answer. Correct in 98 tests.
Test #67:
score: 50
Accepted
time: 190ms
memory: 35128kb
input:
527459705711820317 1237458 18364524 21312413 32673238 236176120
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #68:
score: 50
Accepted
time: 195ms
memory: 35260kb
input:
9663120536403908130 1237458 18364524 21312413 32673238 236176120
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #69:
score: 50
Accepted
time: 104ms
memory: 28384kb
input:
9439840407846051020 1237458 18364524 21312414 32673236 236176120
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #70:
score: 50
Accepted
time: 188ms
memory: 35248kb
input:
13809961864883455849 1237458 18364524 21312413 32673238 236176120
output:
126534126
result:
ok Perfect. Correct in 99 tests.
Test #71:
score: 50
Accepted
time: 193ms
memory: 35208kb
input:
15124215729371202231 1237458 18364524 21312414 32673238 236176120
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #72:
score: 37.5
Acceptable Answer
time: 191ms
memory: 35192kb
input:
7117551168813448970 1237458 18364524 21312414 32673238 236176120
output:
126534125
result:
points 0.75 Correct Answer. Correct in 98 tests.
Test #73:
score: 50
Accepted
time: 199ms
memory: 35176kb
input:
5561290863673255532 1237458 18364524 21312414 32673238 236176120
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #74:
score: 37.5
Acceptable Answer
time: 194ms
memory: 35272kb
input:
13802789789482912767 1237458 18364524 21312414 32673238 236176120
output:
126534125
result:
points 0.75 Correct Answer. Correct in 98 tests.
Test #75:
score: 50
Accepted
time: 195ms
memory: 35264kb
input:
9913943612955590097 1237458 18364524 21312414 32673238 236176120
output:
126534126
result:
ok Perfect. Correct in 99 tests.
Test #76:
score: 50
Accepted
time: 192ms
memory: 35180kb
input:
9308648462630523956 1237458 18364524 21312414 32673238 236176120
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #77:
score: 50
Accepted
time: 194ms
memory: 35188kb
input:
7898242699188216716 1237458 18364524 21312414 32673238 236176120
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #78:
score: 50
Accepted
time: 194ms
memory: 35212kb
input:
17772607140853820910 1237458 18364524 21312414 32673238 236176120
output:
126534127
result:
ok Perfect. Correct in 100 tests.
Test #79:
score: 37.5
Acceptable Answer
time: 193ms
memory: 34996kb
input:
3917596392610036445 1237458 18364524 21312413 32673238 236176120
output:
126534125
result:
points 0.75 Correct Answer. Correct in 98 tests.
Test #80:
score: 50
Accepted
time: 195ms
memory: 35204kb
input:
7049562837957796004 1237458 18364524 21312414 32673238 236176120
output:
126534126
result:
ok Perfect. Correct in 99 tests.