QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#879060 | #9695. Trash Problem | ucup-team5177# | AC ✓ | 749ms | 3968kb | C++23 | 1.9kb | 2025-02-01 20:34:21 | 2025-02-01 20:34:27 |
Judging History
answer
#include <bits/stdc++.h>
int N,ys[309],hsh[309],l[309],l2[309],fa[309],h2[309],ff[309];
char s[309][309];
signed main(void) {
scanf("%d",&N);
std::mt19937 rng(114);
for(int i=1;i<=N;i++) {
scanf("%s",s[i]+1);
fa[i]=rng()%(1<<30);
}
long long ans=0;
for(int i=1;i<=N;i++) {
memset(ys,0,sizeof(ys));
memset(hsh,0,sizeof(hsh));
for(int j=1;j<=N;j++) l[j]=N,l2[j]=N;
for(int j=i;j<=N;j++) {
for(int k=1;k<=N;k++) {
if(s[j][k]=='1') hsh[k]^=fa[j];
if(ys[k]>s[j][k]-'0') {
l[k]=std::min(l[k],k-1);
}
ys[k]^=(s[j][k]-'0');
}
int qq=0;
for(int k=1;k<=N+1;k++) {
if(ys[k]) {
qq++;
} else {
int ll=k-qq,rr=k-1;
if(qq%2==1) {
l[ll]=std::min(l[ll],rr-1);
}
for(int i=rr;i>=ll;i-=2) {
l2[i]=std::min(l2[i],rr-1);
}
qq=0;
}
}
for(int k=N;k>=1;k--) {
l[k-1]=std::min(l[k-1],l[k]);
l2[k]=std::min(l2[k],l[k]);
l[k]=N;
}
for(int k=1;k<=N;k++) h2[k]=h2[k-1]^hsh[k];
int la=N+1;
std::unordered_map<int,int> vi;
for(int k=N;k>=1;k--) {
ff[k]=0;
if(ys[k]) {
la=k;
continue;
}
vi[h2[k]]=k;
int xx=vi[h2[k-1]];
if(xx&&xx<la&&xx<=l2[k]) {
ff[k]=ff[xx+1]+1;
// printf("%d %d %d %d\n",i,j,k,xx);
}
ans+=ff[k];
}
}
}
printf("%lld",ans);
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3840kb
input:
4 0110 0110 1111 1111
output:
17
result:
ok 1 number(s): "17"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
20 00110101100010111111 01000101010001111000 11101001001011011010 01000001001001101110 11100011001111111100 01101110111100111100 10000101011110110101 10001001101110000110 11110011110001110010 10001000101101011111 01000010001100110101 00111100100010011010 01000011000111011011 00111010111111010101 000...
output:
549
result:
ok 1 number(s): "549"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
20 01110011110110000110 10110000111010001100 01111100000001001010 11011111110110011001 01111001001010010111 00111001110110010001 01101011100101011111 10100001100011110001 00101111101011000011 11011011010110101001 01010011011110000111 11111100111100010110 00110111111010011111 00000011000100111011 011...
output:
591
result:
ok 1 number(s): "591"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
19 1000101101010111010 0001001000101010101 1101111101111110010 0100101100110101010 1111011000111010000 1010000111101101110 0001111010100011010 0011010011011111110 1110111011001001000 0001011010111111010 1010101100000110101 1000000011000111101 1101000011101001001 0011000100011110010 11100010000101001...
output:
558
result:
ok 1 number(s): "558"
Test #5:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
20 11011001111000000000 11011111111001100000 01111111101101101100 01111001101100111111 11000000011110110011 11000000011110001111 00011000111100111111 00011011111100110011 00011011011110011011 00011011011110011110 11110011110011000110 11110011110011011000 00001111011110011011 00111101111110111111 001...
output:
1629
result:
ok 1 number(s): "1629"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
20 00011000000001100011 00011110110111101111 11110110110111101100 11110011011111111000 01111011011110011000 01111000111100110000 01111000111100110000 01111011001101101100 11110011001101101100 11111100111101111110 00001111111101111110 00110011110000001100 00110011110111101100 01111011011111111110 011...
output:
1687
result:
ok 1 number(s): "1687"
Test #7:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
20 01100000000000000000 01100000000000000000 00000000011000000000 00011000011110000000 00011001100110000000 00000001100000000000 00000000110000110000 00000000110000111100 00000000110001101100 11000000110001100000 11001100110000000000 00001100110000000011 00000000000000000011 00000000000000000110 110...
output:
11708
result:
ok 1 number(s): "11708"
Test #8:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
20 00000000000000011000 00000000000000011000 00000000000000000000 00000000000000000000 00000000000000000000 00000000000000000000 00000000000000000000 00011000110001101100 00011000110001101100 00000000000000000000 00000000000000110000 00001100011000110110 00001100011000000110 00000110011000000011 000...
output:
15512
result:
ok 1 number(s): "15512"
Test #9:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
20 11001111000000000011 11001111000000000011 11110000001111110000 11110000001111110000 00000000001100110000 00000000001100110000 00000000000000000000 00000000000000000000 00110000000000001100 00110000000000001100 11000000001100000000 11000000001100000000 11000011000000000000 11000011000000000000 000...
output:
13034
result:
ok 1 number(s): "13034"
Test #10:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
20 00001100000000000000 00001100000000000000 00110011110011000000 00110011110011000000 11110000000000000000 11110000000000000000 11000000000000111100 11000000000000111100 11111100110000000000 11111100110000000000 00110000111111110011 00110000111111110011 00110011000000000000 00110011000000000000 000...
output:
9380
result:
ok 1 number(s): "9380"
Test #11:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
20 00110000000000000011 00110000000000000011 00000000000011001111 00000000000011001111 00110011000000111111 00110011000000111111 00001100110011110000 00001100110011110000 00001100001111000000 00001100001111000000 00110000001100000000 00110000001100000000 11000011110011000000 11000011110011000000 000...
output:
9048
result:
ok 1 number(s): "9048"
Test #12:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
20 00000011000000000000 00000011000000000000 00111111001111110011 00111111001111110011 11111100110000001100 11111100110000001100 11001100110000001100 11001100110000001100 11110000001100001100 11110000001100001100 00110000001100000000 00110000001100000000 00000000000011001100 00000000000011001100 000...
output:
9302
result:
ok 1 number(s): "9302"
Test #13:
score: 0
Accepted
time: 3ms
memory: 3840kb
input:
50 10110111111100111011110100110011011100011001010010 01101010010001101000110010101100011110101001011000 00011110101010110011100010101111111001010111101100 01010100110110111000100111110001111011111101010001 01010110110011010100110010100101001110110100111001 100011010011001011101000011110101001100111...
output:
4062
result:
ok 1 number(s): "4062"
Test #14:
score: 0
Accepted
time: 4ms
memory: 3712kb
input:
50 00000100101011100101110000000010000011011001100111 00111101010010100011011000010101101110011010111100 01110111001011001111001001010010110001000101100101 10111000100000000001011110101101001011000010111011 10111100111010111100010101001110101101101011011110 111110000110100001100001001111110011001001...
output:
4693
result:
ok 1 number(s): "4693"
Test #15:
score: 0
Accepted
time: 3ms
memory: 3840kb
input:
49 0000100110001000101010000110110000110110010001100 1011110001010000010011001110010000100101100011001 0000001000011111100001110111111100100100110110100 1010011111110000011100100000110001001001100011001 1100110001100011111010100110010111001100010110001 10011010111110001110011010100011010000110111011...
output:
4104
result:
ok 1 number(s): "4104"
Test #16:
score: 0
Accepted
time: 2ms
memory: 3840kb
input:
50 00000011000110110000011001111110110000000000000000 11000011000110111101111001111110110001111110111111 11000011000001101101111110011110011001111110111111 01111011000001100110011111111110011111101100011110 01111110001100110110000001100001111111101101111110 110111100011111100001111001100011110000011...
output:
11480
result:
ok 1 number(s): "11480"
Test #17:
score: 0
Accepted
time: 3ms
memory: 3712kb
input:
50 00011110000111111111111000000000000000000000000110 11011110011111111111111111100110111101111110000110 11001100011000110000011111100110111101111110000000 11001111110011111100011111100011111101100000001111 11110011111111001100000111111011111101101100001111 111100000011000001100110110110000001111011...
output:
12511
result:
ok 1 number(s): "12511"
Test #18:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
50 00000000000000000000000000000000001100000000000000 00000000011001100000000000000000001100000000000000 00000000011001100000000000000000000000000110000011 00000000000000000000000000000000011001100110000011 00000000000000000011000000000000011001100000000000 000000000000000000110000000000000000000000...
output:
517453
result:
ok 1 number(s): "517453"
Test #19:
score: 0
Accepted
time: 2ms
memory: 3840kb
input:
50 00000000000000000000000000000000000000000000011000 00000000000000000000000000000000000000000000011000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 000000000000110000000000000000000000000000...
output:
510978
result:
ok 1 number(s): "510978"
Test #20:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
50 00001100000011000000110011001111001100001100000011 00001100000011000000110011001111001100001100000011 11000011000000001100000000000011110000000000001100 11000011000000001100000000000011110000000000001100 00110000000000000000110000000011000000110011000000 001100000000000000001100000000110000001100...
output:
195043
result:
ok 1 number(s): "195043"
Test #21:
score: 0
Accepted
time: 2ms
memory: 3840kb
input:
50 00111100000000000000110000001100001100000011001100 00111100000000000000110000001100001100000011001100 11000000001100000000001111001111000011000000110000 11000000001100000000001111001111000011000000110000 00110000000000000000000000000000110000001100000000 001100000000000000000000000000001100000011...
output:
200866
result:
ok 1 number(s): "200866"
Test #22:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
50 00000000000000000000000000000000000000000011000011 00000000000000000000000000000000000000000011000011 00000000000000000000000000000000110000001100001100 00000000000000000000000000000000110000001100001100 00000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000...
output:
411379
result:
ok 1 number(s): "411379"
Test #23:
score: 0
Accepted
time: 2ms
memory: 3840kb
input:
50 00000000000000110000110000000000001100110000000000 00000000000000110000110000000000001100110000000000 00000000110000000000000011000000000000000000000011 00000000110000000000000011000000000000000000000011 00000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000...
output:
378461
result:
ok 1 number(s): "378461"
Test #24:
score: 0
Accepted
time: 745ms
memory: 3968kb
input:
300 00000000100001101110110010111001010000000101000011011100101110110110100000111110000011000100010111100000101110011011100000000011000001000000111010001110001110110111110011111000000010101111101110000001011101110111010101110001000011100110101010101101001111010011111010100111000100100010001011100010...
output:
158766
result:
ok 1 number(s): "158766"
Test #25:
score: 0
Accepted
time: 746ms
memory: 3968kb
input:
300 01010100101011010011010101111101010100001101101111011011010100111101111101100110110111011000011110010111010111100011110111000100101010010100000101010001011101100000100001011010010000000110111010001101010100110100110110101110001000010011010011111101110001101010101001011011001010101010001100100110...
output:
161123
result:
ok 1 number(s): "161123"
Test #26:
score: 0
Accepted
time: 745ms
memory: 3968kb
input:
300 01001011111100110011101011101100110101011101110111010110111100101000100110100000101011101000101001101011101001110110111110001111011010010011110001010011001011101000011001100111001000001001011010010000101010001001000010010011011000110101010001000000010111011010101010010101000011101101111011101100...
output:
161636
result:
ok 1 number(s): "161636"
Test #27:
score: 0
Accepted
time: 748ms
memory: 3968kb
input:
300 01000110110010010110111000101100110110000000010100111101010111111100001111001010111010011110000111110010000001011111010011001011000010101110101110000110011111100111101001100101100100101110100110110110101011001001001110100101001010001110010010010110011011000110010100101000011011111110101110000110...
output:
163637
result:
ok 1 number(s): "163637"
Test #28:
score: 0
Accepted
time: 736ms
memory: 3968kb
input:
299 11000011001101101010000001111010111111101010101000000111101010011111000001011010100000000001001000100110111011010000111000001111111011010001111101111110101100100010101011111101010011011110000010011101010101101000100011101110011001111101000010000101010011101011100110001000101100011010001010010100...
output:
160948
result:
ok 1 number(s): "160948"
Test #29:
score: 0
Accepted
time: 749ms
memory: 3840kb
input:
300 00110010011001001001110011010011101111011011101000100010010010101001011010110001100101010111001110110010000000101110101111100000011110111000010100010000110000010101100011110100001001010100101100100001100000000010001000101001100001110101101011111010000101111101110010001100001110111100110111000010...
output:
159274
result:
ok 1 number(s): "159274"
Test #30:
score: 0
Accepted
time: 743ms
memory: 3968kb
input:
300 10111110101111011010001001000001001100011101101001110010001101110011110101000100000100111101010110000001111100100110110010001011111110011111011010110101011001010100010111101001001001111110100000100011110111010101011111100010011001001100000111110000100101010010011111111011101111000011101001000000...
output:
163578
result:
ok 1 number(s): "163578"
Test #31:
score: 0
Accepted
time: 743ms
memory: 3840kb
input:
299 11110011011010010001000111011001111111010010101110001111001111101100110010011101101001001011001100111111100000100011001101001010010111000101011101011000101100101111110001011110110110010000010111111001011010101101001011101101110100111101010001100000101111100110010000011010100101100100001010101010...
output:
157983
result:
ok 1 number(s): "157983"
Test #32:
score: 0
Accepted
time: 695ms
memory: 3968kb
input:
300 00000001100110001100000000011111100000000011001111110000111111000000011000000000000001100001101111001100110001101111011000000011000001111011000000000110000000001100000000000011000000000000110001111000000000001101100000000001101101100001111000000011001100011011011110000001100001100110001111000001...
output:
427604
result:
ok 1 number(s): "427604"
Test #33:
score: 0
Accepted
time: 715ms
memory: 3968kb
input:
300 11011110011011000001100110110000000011000110000000110000000000001100110011110000111100011000000000000110011001100110000000000001100011011011000110110001101100011011000011000110001111000011110011110111111000000011000011000000000110000000000001100000000000000110000000001111011110001111110000001111...
output:
429036
result:
ok 1 number(s): "429036"
Test #34:
score: 0
Accepted
time: 272ms
memory: 3968kb
input:
300 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
631185707
result:
ok 1 number(s): "631185707"
Test #35:
score: 0
Accepted
time: 273ms
memory: 3968kb
input:
300 00000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
640299883
result:
ok 1 number(s): "640299883"
Test #36:
score: 0
Accepted
time: 373ms
memory: 3968kb
input:
300 11001100110000000000110011000000000011000000000000111100111111000000111100000000000000000000110011000011110011000000001100000011001111111111000011111100000011000000111100000011000011000000001100110011000011001100001111001111000000000000000011001100111100000011000000000011110011110011000000111111...
output:
145347042
result:
ok 1 number(s): "145347042"
Test #37:
score: 0
Accepted
time: 373ms
memory: 3968kb
input:
300 00000011000000001100000011001100111111000011000011000011001100111100001100000000110011000000000000000000001111000011110000000000000000110000000000110000111100000000000000000000001100111111001100111111001100111111000011000011000000000000001100001111001111111111000011001100000000110000110011001100...
output:
145414743
result:
ok 1 number(s): "145414743"
Test #38:
score: 0
Accepted
time: 317ms
memory: 3968kb
input:
300 00001100000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
476563330
result:
ok 1 number(s): "476563330"
Test #39:
score: 0
Accepted
time: 306ms
memory: 3968kb
input:
300 00000000000000000000000000000000000011000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
491622899
result:
ok 1 number(s): "491622899"
Test #40:
score: 0
Accepted
time: 153ms
memory: 3968kb
input:
300 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
2038522500
result:
ok 1 number(s): "2038522500"
Test #41:
score: 0
Accepted
time: 108ms
memory: 3968kb
input:
300 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
506250000
result:
ok 1 number(s): "506250000"
Extra Test:
score: 0
Extra Test Passed