提出 #35934684
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
using ull=unsigned long long;
using mat=array<ull,64>;
#define rep(i,l,r)for(int i=(l);i<(r);i++)
#define bit(s,i)(((s)>>(i))&1)
mt19937_64 rand_gen;
mat mat_gen(){
mat ret;
rep(i,0,64)ret[i]=rand_gen();
return ret;
}
ull mat_prod(mat&m,ull x){
ull ans=0;
rep(i,0,64)if(bit(x,i))ans^=m[i];
return ans;
}
mat mat_mul(mat&x,mat&y){
mat ret;
rep(i,0,64)ret[i]=mat_prod(y,x[i]);
return ret;
}
int main(){
vector<mat>m(20);
m[0]=mat_gen();
rep(i,1,20)m[i]=mat_mul(m[i-1],m[i-1]);
int n,q;
cin >> n >> q;
vector<vector<ull>>hash(20,vector<ull>(n));
rep(i,0,n)cin >> hash[0][i];
rep(i,1,20)rep(j,0,n-(1<<i)+1){
hash[i][j] = hash[i-1][j] ^ mat_prod(m[i-1],hash[i-1][j+(1<<(i-1))]);
}
rep(_,0,q){
int A,B,C,D,E,F;
cin >> A >> B >> C >> D >> E >> F;
A--,B--,C--,D--,E--,F--;
int x=A,y=C,z=E;
for(int i=19;i>=0;i--){
if(max({x,y,z})+(1<<i)>n)continue;
if((hash[i][x]^hash[i][y])!=hash[i][z])continue;
x+=1<<i;
y+=1<<i;
z+=1<<i;
}
if(x>B||y>D||z>F)cout << (F-E>B-A?"Yes":"No") << endl;
else cout << ((hash[0][x]^hash[0][y])<hash[0][z]?"Yes":"No") << endl;
}
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | Ex - XOR Sum of Arrays |
| ユーザ | kyopro_friends |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 600 |
| コード長 | 1212 Byte |
| 結果 | AC |
| 実行時間 | 2245 ms |
| メモリ | 85336 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 600 / 600 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 01_a_small_00.txt, 01_a_small_01.txt, 01_a_small_02.txt, 01_a_small_03.txt, 02_n_small_00.txt, 02_n_small_01.txt, 03_q_small_00.txt, 03_q_small_01.txt, 04_random_00.txt, 04_random_01.txt, 04_random_02.txt, 05_period_in_3_00.txt, 05_period_in_3_01.txt, 05_period_in_3_02.txt, 05_period_in_3_03.txt, 05_period_in_3_04.txt, 05_period_in_3_05.txt, 05_period_in_3_06.txt, 05_period_in_3_07.txt, 05_period_in_3_08.txt, 05_period_in_3_09.txt, 05_period_in_3_10.txt, 05_period_in_3_11.txt, 05_period_in_3_12.txt, 05_period_in_3_13.txt, 05_period_in_3_14.txt, 05_period_in_3_15.txt, 06_period_00.txt, 06_period_01.txt, 06_period_02.txt, 06_period_03.txt, 06_period_04.txt, 06_period_05.txt, 06_period_06.txt, 06_period_07.txt, 06_period_08.txt, 06_period_09.txt, 06_period_10.txt, 06_period_11.txt, 06_period_12.txt, 06_period_13.txt, 06_period_14.txt, 06_period_15.txt, 07_corner_00.txt, 07_corner_01.txt, 08_handmade_00.txt, 09_lcp_eq_1_00.txt, 09_lcp_eq_1_01.txt, 09_lcp_eq_1_02.txt, 09_lcp_eq_1_03.txt, 09_lcp_eq_1_04.txt, 10_lcp_eq_255_00.txt, 10_lcp_eq_255_01.txt, 10_lcp_eq_255_02.txt, 10_lcp_eq_255_03.txt, 10_lcp_eq_255_04.txt, 11_lcp_eq_512_00.txt, 11_lcp_eq_512_01.txt, 11_lcp_eq_512_02.txt, 11_lcp_eq_512_03.txt, 11_lcp_eq_512_04.txt, 12_lcp_eq_1023_00.txt, 12_lcp_eq_1023_01.txt, 12_lcp_eq_1023_02.txt, 12_lcp_eq_1023_03.txt, 12_lcp_eq_1023_04.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 8 ms | 3440 KiB |
| 00_sample_01.txt | AC | 3 ms | 3488 KiB |
| 01_a_small_00.txt | AC | 867 ms | 85332 KiB |
| 01_a_small_01.txt | AC | 1848 ms | 85236 KiB |
| 01_a_small_02.txt | AC | 1920 ms | 85328 KiB |
| 01_a_small_03.txt | AC | 1935 ms | 85188 KiB |
| 02_n_small_00.txt | AC | 126 ms | 3632 KiB |
| 02_n_small_01.txt | AC | 125 ms | 3632 KiB |
| 03_q_small_00.txt | AC | 2069 ms | 85188 KiB |
| 03_q_small_01.txt | AC | 2068 ms | 85172 KiB |
| 04_random_00.txt | AC | 2237 ms | 85184 KiB |
| 04_random_01.txt | AC | 2238 ms | 85284 KiB |
| 04_random_02.txt | AC | 2235 ms | 85336 KiB |
| 05_period_in_3_00.txt | AC | 829 ms | 85132 KiB |
| 05_period_in_3_01.txt | AC | 847 ms | 85248 KiB |
| 05_period_in_3_02.txt | AC | 947 ms | 85328 KiB |
| 05_period_in_3_03.txt | AC | 895 ms | 85092 KiB |
| 05_period_in_3_04.txt | AC | 813 ms | 85244 KiB |
| 05_period_in_3_05.txt | AC | 869 ms | 85148 KiB |
| 05_period_in_3_06.txt | AC | 974 ms | 85184 KiB |
| 05_period_in_3_07.txt | AC | 827 ms | 85212 KiB |
| 05_period_in_3_08.txt | AC | 833 ms | 85172 KiB |
| 05_period_in_3_09.txt | AC | 896 ms | 85092 KiB |
| 05_period_in_3_10.txt | AC | 1009 ms | 85248 KiB |
| 05_period_in_3_11.txt | AC | 898 ms | 85236 KiB |
| 05_period_in_3_12.txt | AC | 815 ms | 85248 KiB |
| 05_period_in_3_13.txt | AC | 857 ms | 85240 KiB |
| 05_period_in_3_14.txt | AC | 992 ms | 85188 KiB |
| 05_period_in_3_15.txt | AC | 853 ms | 85248 KiB |
| 06_period_00.txt | AC | 2002 ms | 85188 KiB |
| 06_period_01.txt | AC | 2224 ms | 85184 KiB |
| 06_period_02.txt | AC | 2236 ms | 85276 KiB |
| 06_period_03.txt | AC | 2229 ms | 85252 KiB |
| 06_period_04.txt | AC | 2120 ms | 85184 KiB |
| 06_period_05.txt | AC | 1943 ms | 85244 KiB |
| 06_period_06.txt | AC | 2210 ms | 85092 KiB |
| 06_period_07.txt | AC | 2214 ms | 85212 KiB |
| 06_period_08.txt | AC | 2213 ms | 85336 KiB |
| 06_period_09.txt | AC | 2230 ms | 85168 KiB |
| 06_period_10.txt | AC | 2245 ms | 85096 KiB |
| 06_period_11.txt | AC | 2232 ms | 85184 KiB |
| 06_period_12.txt | AC | 824 ms | 85248 KiB |
| 06_period_13.txt | AC | 2210 ms | 85288 KiB |
| 06_period_14.txt | AC | 955 ms | 85248 KiB |
| 06_period_15.txt | AC | 2158 ms | 85332 KiB |
| 07_corner_00.txt | AC | 835 ms | 85284 KiB |
| 07_corner_01.txt | AC | 2206 ms | 85092 KiB |
| 08_handmade_00.txt | AC | 4 ms | 3548 KiB |
| 09_lcp_eq_1_00.txt | AC | 2182 ms | 85236 KiB |
| 09_lcp_eq_1_01.txt | AC | 2185 ms | 85152 KiB |
| 09_lcp_eq_1_02.txt | AC | 2184 ms | 85328 KiB |
| 09_lcp_eq_1_03.txt | AC | 2186 ms | 85096 KiB |
| 09_lcp_eq_1_04.txt | AC | 2187 ms | 85236 KiB |
| 10_lcp_eq_255_00.txt | AC | 424 ms | 16608 KiB |
| 10_lcp_eq_255_01.txt | AC | 419 ms | 16508 KiB |
| 10_lcp_eq_255_02.txt | AC | 427 ms | 16544 KiB |
| 10_lcp_eq_255_03.txt | AC | 430 ms | 16608 KiB |
| 10_lcp_eq_255_04.txt | AC | 425 ms | 16528 KiB |
| 11_lcp_eq_512_00.txt | AC | 1437 ms | 56324 KiB |
| 11_lcp_eq_512_01.txt | AC | 1438 ms | 56472 KiB |
| 11_lcp_eq_512_02.txt | AC | 1436 ms | 56556 KiB |
| 11_lcp_eq_512_03.txt | AC | 1438 ms | 56396 KiB |
| 11_lcp_eq_512_04.txt | AC | 1444 ms | 56372 KiB |
| 12_lcp_eq_1023_00.txt | AC | 1437 ms | 56500 KiB |
| 12_lcp_eq_1023_01.txt | AC | 1440 ms | 56472 KiB |
| 12_lcp_eq_1023_02.txt | AC | 1440 ms | 56412 KiB |
| 12_lcp_eq_1023_03.txt | AC | 1437 ms | 56556 KiB |
| 12_lcp_eq_1023_04.txt | AC | 1436 ms | 56436 KiB |