Editorial for A2SV Education Phase I — Contest #6

Правка en16, от nuredinbederu10k, 2025-03-10 18:35:46

B. Thousand Sunny's Network Setup

Solution
Code

D. Pirates Island: Painting the Grand Line

Solution
Code

E. Straw Hat's Blue-Red Permutation

Solution

Now consider separately two red numbers $$$a_{i}$$$ and $$$a_{j}$$$ such that $$$a_{i}>a_{j}$$$ . If $$$x$$$ is produced by increasing $$$a_{i}$$$ and $$$y$$$ is produced by increasing $$$a_{j}$$$ , and in the same time $$$x<y$$$ then $$$y>x⩾a_{i}>a_{j}$$$ , and the following is also true: $$$x>a_{j}$$$ and $$$y>a_{i}$$$ . So we just showed that if an answer exists, it also exists if greater numbers are produced by greater values from the input. The same holds for the blue numbers.

Let us sort all elements ai by the key $$$(c_{i},a_{i})$$$ , where $$$c_{i}$$$ the color of $$$i-th$$$ element (and blue comes before red). It remains to check that for any $$$t$$$ from $$$1$$$ to $$$n$$$ we can get the number $$$t$$$ from the $$$t$$$ -th element of the obtained sorted array. To do this, we iterate through it and check that either $$$c_{t}='B'$$$ and $$$a_{t}⩾t$$$ so it can be reduced to $$$t$$$, or, symmetrically, $$$c_{t}='R'$$$ and $$$a_{t}⩽t$$$. <\spoiler>

F. Luffy’s Lineup Challenge

Solution

Code

n = int(input()) target_order = list(map(int, input().split())) initial_order = list(map(int, input().split()))

value_to_indices = defaultdict(list) for i in range(n): value_to_indices[target_order[i]].append(i)

for i in range(n): target_index = value_to_indices[initial_order[i]].pop() initial_order[i] = target_index

swaps = [] swap_count = 0

while True: swapped = False for i in range(n — 1): if initial_order[i] > initial_order[i + 1]: initial_order[i], initial_order[i + 1] = initial_order[i + 1], initial_order[i] swaps.append((i + 1, i + 2)) swap_count += 1 swapped = True if not swapped: break

print(swap_count) for swap in swaps: print(swap[0], swap[1])

<\spoiler>

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en20 Английский brooksolo 2025-03-10 20:45:26 726
en19 Английский devAsher 2025-03-10 19:48:11 928
en18 Английский nuredinbederu10k 2025-03-10 18:40:12 12
en17 Английский nuredinbederu10k 2025-03-10 18:37:33 14
en16 Английский nuredinbederu10k 2025-03-10 18:35:46 286
en15 Английский nuredinbederu10k 2025-03-10 18:31:05 26
en14 Английский nuredinbederu10k 2025-03-10 18:29:10 4 Tiny change: 'positions.Once we ha' -> 'positions.\n\nOnce we ha'
en13 Английский nuredinbederu10k 2025-03-10 18:27:45 84
en12 Английский nuredinbederu10k 2025-03-10 18:21:06 1802
en11 Английский nuredinbederu10k 2025-03-10 18:07:06 18 Tiny change: 'lem/E)\n\n==================\n<spoiler' -> 'lem/E)\n\n\n<spoiler'
en10 Английский nuredinbederu10k 2025-03-10 17:45:52 8
en9 Английский nuredinbederu10k 2025-03-10 17:40:39 111
en8 Английский nuredinbederu10k 2025-03-10 17:29:21 850 (published)
en7 Английский mulugetasolomonabate 2025-03-10 17:05:19 2981
en6 Английский FunkyLlama 2025-03-10 16:13:22 1620 Tiny change: 'olor of $i$\n-th element (' -> 'olor of $i-th$ element (' (saved to drafts)
en5 Английский nuredinbederu10k 2025-03-10 12:55:34 29 Tiny change: '\n\n<spoiler' -> '[problem:Some Random Problem]\n<spoiler'
en4 Английский nuredinbederu10k 2025-03-10 12:54:05 15
en3 Английский nuredinbederu10k 2025-03-10 12:53:12 100
en2 Английский nuredinbederu10k 2025-03-10 11:35:27 19 Tiny change: 'Hello' -> 'Moshi Mosh !!!'
en1 Английский nuredinbederu10k 2025-03-10 11:31:50 54 Initial revision (published)