ASC 36 Editorial

Revision en4, by ezraft, 2026-01-13 21:28:53

Contest link: https://mirror.codeforces.com/gym/100430    

100430A - Chip Installation

100430B - Divisible Substrings

100430C - Preparing Documents

100430D - GridBagLayout

100430E - Hot Potato Routing

100430F - Knapsack Problem

For a subset $$$A \subset {1, \ldots, n}$$$ we introduce the notation

$$$s(A) = \sum_{a \in A} w_a$$$

for convenience. First, note that $$$\mathcal{I}$$$ always contains $$$\varnothing,$$$ since $$$s(\varnothing) = 0$$$. As a result we cannot violate condition $$$1.$$$ Similarly, it is impossible to violate condition $$$2,$$$ since for $$$A \supset B$$$ we have

$$$s(A) = s(B) + s(A \setminus B),$$$

and $$$s(A \setminus B) \geq 0$$$ by non-negativity of the weights $$$w_i.$$$

We say a set $$$A$$$ is constrained if $$$s(A) \leq c$$$ and for all $$$x \not \in A,$$$ $$$s(A \cup {x}) \geq c.$$$ Clearly if we can find constrained sets $$$A, B$$$ with $$$|A| \neq |B|$$$ then we have a contradiction to the third condition.

Consider the sets $$$M_{\min}$$$ and $$$M_{\max}$$$ constructed as follows:

For $$$M_{\min},$$$ iterate through the indices $$${1,\ldots, n}$$$ in non-decreasing order of $$$w_i.$$$ At each index, if adding it to the set keeps $$$s(M_{\min})$$$ at most $$$c,$$$ then add it to $$$M_{\min}.$$$ For $$$M_{\max},$$$ perform the same algorithm with the indices initially in non-increasing order of weights.

It is well known that $$$M_{\min}$$$ is the constrained set with the maximum size and $$$M_{\max}$$$ is the constrained set of minimum size. I leave it as an exercise to prove this.

If $$$M_{\min} \gt M_{\max}$$$ then we are done. Otherwise, we know that all constrained sets have the same size; call this $$$k.$$$

100430G - Magic Potions

100430H - Restoring Permutation

100430I - Roads

100430J - Squary Set

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en36 English diss_quack 2026-01-29 02:09:27 0 (published)
en35 English 0mar 2026-01-29 01:37:05 6 type for J
en34 English diss_quack 2026-01-29 01:30:47 6
en33 English diss_quack 2026-01-29 01:26:25 41
en32 English 0mar 2026-01-28 23:16:26 36
en31 English 0mar 2026-01-28 23:12:51 964
en30 English diss_quack 2026-01-28 20:26:06 885
en29 English ezraft 2026-01-28 19:50:26 146
en28 English ezraft 2026-01-28 19:22:57 747
en27 English ezraft 2026-01-28 19:05:23 25
en26 English ezraft 2026-01-28 19:04:37 5
en25 English ezraft 2026-01-28 19:04:00 3351
en24 English ezraft 2026-01-28 18:55:02 90
en23 English diss_quack 2026-01-14 22:11:54 772
en22 English diss_quack 2026-01-14 20:55:29 29
en21 English diss_quack 2026-01-14 20:54:21 275
en20 English diss_quack 2026-01-14 20:51:21 225
en19 English diss_quack 2026-01-14 20:46:23 1179
en18 English 0mar 2026-01-14 08:31:30 6
en17 English 0mar 2026-01-14 08:30:46 13
en16 English 0mar 2026-01-14 08:29:49 1584 add H editorial
en15 English diss_quack 2026-01-14 00:00:09 3020
en14 English diss_quack 2026-01-13 23:08:11 16
en13 English diss_quack 2026-01-13 23:04:07 3121
en12 English ezraft 2026-01-13 22:43:35 22
en11 English ezraft 2026-01-13 22:36:51 97 Tiny change: 'A \subset \{1, \ldots, n\}$ we intr' -> 'A \subset {1, \ldots, n}$ we intr'
en10 English ezraft 2026-01-13 22:26:58 1267
en9 English ezraft 2026-01-13 21:41:35 248
en8 English ezraft 2026-01-13 21:39:13 6 Tiny change: 'add $x = \argmin_{u \in \{' -> 'add $x = \text{argmin}_{u \in \{'
en7 English ezraft 2026-01-13 21:38:19 667
en6 English ezraft 2026-01-13 21:30:26 4 Tiny change: 'et $A$ is `constrained` if $s(A) ' -> 'et $A$ is _constrained_ if $s(A) '
en5 English ezraft 2026-01-13 21:30:00 8
en4 English ezraft 2026-01-13 21:28:53 64
en3 English ezraft 2026-01-13 21:28:13 1414
en2 English ezraft 2026-01-13 21:13:02 44
en1 English ezraft 2026-01-13 21:12:14 416 Initial revision (saved to drafts)