feat(codeforces/993): ak
This commit is contained in:
parent
ee35513364
commit
1e18e29af4
26 changed files with 158 additions and 247 deletions
|
|
@ -39,3 +39,4 @@ CompileFlags:
|
|||
-std=c++23
|
||||
-std=c++23
|
||||
-std=c++23
|
||||
-std=c++23
|
||||
|
|
|
|||
|
|
@ -61,37 +61,36 @@ void solve() {
|
|||
u32 n;
|
||||
cin >> n;
|
||||
|
||||
vec<u32> a(n);
|
||||
for (u32 i = 0; i < n; i += 2) a[i] = i >> 1;
|
||||
|
||||
u32 xe = 0;
|
||||
for (u32 i = 0; i < n; i += 2) xe ^= a[i];
|
||||
|
||||
u32 odd = n >> 1;
|
||||
if (!odd) {
|
||||
for (u32 i = 0; i < n; ++i) cout << a[i] << " \n"[i == n - 1];
|
||||
if (n == 3) {
|
||||
cout << "1 2 3\n";
|
||||
return;
|
||||
}
|
||||
|
||||
const u32 BIG = 1u << 20;
|
||||
u32 xo = 0;
|
||||
for (u32 k = 0; k + 2 < odd; ++k) {
|
||||
a[1 + 2 * k] = BIG + k;
|
||||
xo ^= a[1 + 2 * k];
|
||||
vec<u32> a(n, 0);
|
||||
|
||||
u32 odd_slots = n / 2;
|
||||
u32 even_slots = ceil(n / 2.0);
|
||||
|
||||
for (u32 i = 0; i < n; i += 2) {
|
||||
a[i] = i / 2 + 1;
|
||||
if (i + 1 < n)
|
||||
a[i + 1] = a[i] | ((u32)1 << 30);
|
||||
}
|
||||
|
||||
if (odd == 1) {
|
||||
a[1] = BIG;
|
||||
a[0] ^= xe ^ BIG;
|
||||
} else {
|
||||
u32 diff = xe ^ xo;
|
||||
u32 p = BIG + odd - 2;
|
||||
a[2 * odd - 3] = p;
|
||||
a[2 * odd - 1] = p ^ diff;
|
||||
if (n & 1) {
|
||||
a[n - 1] = 0;
|
||||
}
|
||||
|
||||
for (u32 i = 0; i < n; ++i)
|
||||
if (odd_slots & 1) {
|
||||
a[odd_slots * 2 - 3] ^= a[odd_slots * 2 - 1];
|
||||
a[odd_slots * 2 - 1] = (u32)1 << 29;
|
||||
a[odd_slots * 2 - 3] |= (u32)1 << 29;
|
||||
a[odd_slots * 2 - 3] |= (u32)1 << 30;
|
||||
}
|
||||
|
||||
for (u32 i = 0; i < n; ++i) {
|
||||
cout << a[i] << " \n"[i == n - 1];
|
||||
}
|
||||
}
|
||||
|
||||
int main() { // {{{
|
||||
|
|
|
|||
|
|
@ -6,4 +6,3 @@
|
|||
6
|
||||
7
|
||||
9
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
0 1048576 1 1048577 2 1048578 3 1048579
|
||||
1048577 1048576 1
|
||||
0 1048576 1 1048577
|
||||
0 1048576 1 1048579 2
|
||||
0 1048576 1 1048580 2 7
|
||||
0 1048576 1 1048580 2 4 3
|
||||
0 1048576 1 1048577 2 1048578 3 1048583 4
|
||||
1 1073741825 2 1073741826 3 1073741827 4 1073741828
|
||||
1 2 3
|
||||
1 1073741825 2 1073741826
|
||||
1 1073741825 2 1073741826 0
|
||||
1 1073741825 2 1610612737 3 536870912
|
||||
1 1073741825 2 1610612737 3 536870912 0
|
||||
1 1073741825 2 1073741826 3 1073741827 4 1073741828 0
|
||||
|
||||
[code]: 0
|
||||
[time]: 4.62723 ms
|
||||
[time]: 4.25386 ms
|
||||
Loading…
Add table
Add a link
Reference in a new issue