結果
問題 | No.2540 同値性判定 |
ユーザー | 👑 p-adic |
提出日時 | 2023-07-29 23:31:16 |
言語 | cLay (20240714-1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,203 bytes |
コンパイル時間 | 4,074 ms |
コンパイル使用メモリ | 201,952 KB |
実行使用メモリ | 82,408 KB |
最終ジャッジ日時 | 2024-10-08 10:41:08 |
合計ジャッジ時間 | 10,403 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 3 ms
10,496 KB |
testcase_01 | AC | 2 ms
5,248 KB |
testcase_02 | AC | 2 ms
5,248 KB |
testcase_03 | AC | 2 ms
5,248 KB |
testcase_04 | AC | 3 ms
5,248 KB |
testcase_05 | AC | 2 ms
5,248 KB |
testcase_06 | AC | 3 ms
5,248 KB |
testcase_07 | AC | 2 ms
5,248 KB |
testcase_08 | AC | 2 ms
5,248 KB |
testcase_09 | AC | 2 ms
5,248 KB |
testcase_10 | AC | 2 ms
5,248 KB |
testcase_11 | AC | 2 ms
5,248 KB |
testcase_12 | AC | 20 ms
5,248 KB |
testcase_13 | AC | 41 ms
5,248 KB |
testcase_14 | AC | 446 ms
10,624 KB |
testcase_15 | AC | 611 ms
73,984 KB |
testcase_16 | TLE | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
testcase_20 | -- | - |
testcase_21 | -- | - |
testcase_22 | -- | - |
testcase_23 | -- | - |
testcase_24 | -- | - |
evil_00.txt | -- | - |
evil_01.txt | -- | - |
evil_02.txt | -- | - |
evil_03.txt | -- | - |
evil_04.txt | -- | - |
evil_05.txt | -- | - |
evil_06.txt | -- | - |
evil_07.txt | -- | - |
evil_08.txt | -- | - |
evil_09.txt | -- | - |
evil_10.txt | -- | - |
evil_11.txt | -- | - |
ソースコード
// 誤解法(64並列なし、vector<bool>使用)チェック #pragma GCC optimize("unroll-loops") vector<bool>T(64,true);vector<bool>F(64,false); struct U{vector<bool>a,b;bool c;U(vector<bool>A=T,vector<bool>B=F,bool C=false):a(A),b(B),c(C){};}; vector<bool>O(const U&b,const vector<bool>&a){vector<bool>c(64);rep(d,64){c[d]=(b.c?!a[d]:a[d])&b.a[d]|b.b[d];}return c;} void C(const U&f,U&b){if(f.c){b.a.flip();b.b.flip();b.c=!b.c;swap(b.a,b.b);rep(d,64)b.b[d]=b.b[d]&&b.a[d]&&f.a[d]||f.b[d],b.a[d]=b.a[d]&&f.a[d];}else{rep(d,64)b.a[d]=b.a[d]&&f.a[d],b.b[d]=b.b[d]&&f.a[d]||f.b[d];}} { ull@N,@Q,M=1000,h,l,r,x,y,m,n,u; vector<bool>P[6],A[N],a; U B[M]={},f; rep(i,6)rep(d,64)P[i].push_back((d>>i)&1); rep(i,N)A[i]=P[i%6]; string E="land",o; rep(Q){ rd(h,o,l,r,x,y); r++;y++; a=O(B[h/M],A[h]); f=o==E?U(a):U(T,a,o<E); m=(l+M-1)/M; n=max(m,r/M); u=min(m*M,r); if(m){rep(i,m*M-M,min(m*M,N))A[i]=O(B[m-1],A[i]);B[m-1]=U();} rep(i,l,u)A[i]=O(f,A[i]); rep(j,m,n)C(f,B[j]); rep(i,n*M,min(n*M+M,N))A[i]=O(B[n],A[i]); if(n*M<N)B[n]=U(); rep(i,max(u,n*M),r)A[i]=O(f,A[i]); set<vector<bool>>X; o="No"; rep(i,x,y){ a=O(B[i/M],A[i]); if(X.count(a)){o="Yes";break;} X.insert(a); } wt(o); } }