ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΠ°Π½Π°ΠΊΠ΅ΡΠ° ΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΡΠΌΠΎΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π³ΡΠ°Π½ΠΈΡΡ ΠΎΠΊΠ½Π° Ρ k-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΡΡΠ°ΡΡΠΊΠΎΠ² ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡΡΡ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΠ»Π°Π·ΡΡΡ
ΠΠΎΠ½Π΄ΠΈΡΠ΅Ρ ΡΠΊΡΠ°ΡΠ°Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΡΠΎΡΡ, ΠΏΠΎΠΊΡΡΠ²Π°Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΠ°Π·Π½ΠΎΡΠ²Π΅ΡΠ½ΠΎΠΉ Π³Π»Π°Π·ΡΡΡΡ. ΠΠ»Ρ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ Π³Π»Π°Π·ΡΡΠΈ ΠΎΠ½ ΡΠΌΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Ρ Π°ΡΠ½ΡΡ ΠΏΡΠ΄ΡΡ Ρ Π»ΠΈΠΌΠΎΠ½Π½ΡΠΌ ΠΈ ΡΠ΅ΡΠ½ΠΈΡΠ½ΡΠΌ ΡΠΎΠΊΠΎΠΌ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠΏΠΎΡΡΠΈΡΡ , ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΈ ΠΎΡΡΠ΅Π½ΠΊΠ° ΡΠΈΠ½Π΅Π³ΠΎ ΡΠ²Π΅ΡΠ°: ΡΠ²Π΅ΡΠ»ΡΠΉ, ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΈ Π½Π°ΡΡΡΠ΅Π½Π½ΡΠΉ. ΠΡΠΈ ΡΠ²Π΅ΡΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ ΡΠΈΡΠ»Π°ΠΌΠΈ: 0 Π΄Π»Ρ ΡΠ²Π΅ΡΠ»ΠΎΠ³ΠΎ, 1 Π΄Π»Ρ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΠΈ 2 Π΄Π»Ρ Π½Π°ΡΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠ½Π΅Π³ΠΎ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ ΡΠ·ΠΎΡ, ΠΎΠ½ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΠΎΡΡΠ° Π½Π° Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΠΎΡΡ ΡΠΈΡΠΈΠ½ΠΎΠΉ A1, A2, ..., An ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΠΎΡΡ Π²ΡΡΠΎΡΡ B1, B2, ..., Bn ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ². Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΠΎΡΡ Π΄Π΅Π»ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΠΎΡΡΠ° Π½Π° n Γ n ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ². ΠΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΡ i ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΡ j ΠΈΠΌΠ΅Π΅Ρ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ (i + j) mod 3 Π΄Π»Ρ Π²ΡΠ΅Ρ 1 β€ i, j β€ n:
ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΊΠΎΠ½Π΄ΠΈΡΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ² Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ . ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½Π° Π²Ρ ΠΎΠ΄ ΡΠ΅Π»ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ n, ΠΈ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° ΠΏΠΎΠ»ΠΎΡ.
ΠΡΠΈΠΌΠ΅Ρ Π²Π²ΠΎΠ΄Π°
ΠΡΠ²ΠΎΠ΄
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΡΠ° ΡΠ΅Π»Ρ β Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π·Π° Π²ΡΠ΅ΠΌΡ O(n) ΠΈΠ»ΠΈ O(n log n) Π² Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π² Π³ΠΎΠ»ΠΎΠ²Ρ β ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΡΠ΅ΡΠΊΠΈ n x n ΠΈ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΉΠΌΠ΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ°ΡΡΠ΅Ρ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΡ n.
ΠΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄
ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΠΎΠ»Π±ΡΡ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠΎ ΠΎΠ±ΡΠ°Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ½Π΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠΌ ΡΡΠΎΠ»Π±Π΅Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, ΡΠΎ ΡΠ΅ΠΌΠ½ΠΎ-ΡΠΈΠ½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠΌ, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΈΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ»ΡΡΠ°ΠΉ n = 3. Π’ΠΎΠ³Π΄Π° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, ΡΡΠΌΠΌΠΈΡΡΡ ΡΡΠ΅ΠΉΠΊΠΈ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΡΡΡΠΎΠΊΠΈ i ΠΈ ΡΡΠΎΠ»Π±ΡΠ° j Π½Π° 3. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- A3k (ΡΠ²Π΅ΡΠ»ΠΎ-ΡΠΈΠ½ΠΈΠΉ): ΡΡΠΌΠΌΠ° ΠΏΠ»ΠΎΡΠ°Π΄Π΅ΠΉ ΡΡΠ΅Π΅ΠΊ, Π³Π΄Π΅ (i + j) Π΄Π°Π΅Ρ ΠΎΡΡΠ°ΡΠΎΠΊ 0 ΠΏΡΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° 3
- A3k+1 (ΡΡΠ΅Π΄Π½ΠΈΠΉ ΡΠΈΠ½ΠΈΠΉ): ΡΡΠΌΠΌΠ° ΠΏΠ»ΠΎΡΠ°Π΄Π΅ΠΉ ΡΡΠ΅Π΅ΠΊ, Π³Π΄Π΅ (i + j) Π΄Π°Π΅Ρ ΠΎΡΡΠ°ΡΠΎΠΊ 1 ΠΏΡΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° 3
- A3k+2 (Π½Π°ΡΡΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ½ΠΈΠΉ): ΡΡΠΌΠΌΠ° ΠΏΠ»ΠΎΡΠ°Π΄Π΅ΠΉ ΡΡΠ΅Π΅ΠΊ, Π³Π΄Π΅ (i + j) Π΄Π°Π΅Ρ ΠΎΡΡΠ°ΡΠΎΠΊ 2 ΠΏΡΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° 3
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡΠΈ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π² ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠΊΡ 3 x 3. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ β Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠ²Π΅ΡΠ° ΠΏΡΠΈ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ»ΠΎΡΠ°Π΄Π΅ΠΉ:
***
Π£ΡΠΈΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Python Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ ΡΠ΅ΠΌΠΏΠ΅!
ΠΡ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠ΅ΡΡ Π² IT ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ? ΠΠ°Ρ ΠΊΡΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²!
π‘ Π§ΡΠΎ Π²Π°Ρ ΠΆΠ΄Π΅Ρ Π½Π° ΠΊΡΡΡΠ΅
- 32 ΡΡΠΎΠΊΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π½ΡΡΠΈΠΉ.
- 4 ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ: Π±ΠΎΡ Π΄Π»Ρ Telegram, ΠΏΠ°ΡΡΠΈΠ½Π³ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ, ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π΄Π»Ρ ΠΈΠΏΠΎΡΠ΅ΠΊΠΈ.
- 90 ΡΠ°ΡΠΎΠ² ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈ 15 ΡΠ°ΡΠΎΠ² ΡΠ΅ΠΎΡΠΈΠΈ.
- Π Π°Π±ΠΎΡΠ° Π² PyCharm ΠΈ Jupyter Notebook.
- ΠΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ ΠΎΡ ΠΎΠΏΡΡΠ½ΡΡ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΉ.
π¨βπ« ΠΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»ΠΈ
- Π ΠΎΠΌΠ°Π½ ΠΡΠ»Π³Π°ΠΊΠΎΠ² β ΡΠΊΡΠΏΠ΅ΡΡ Ρ 5-Π»Π΅ΡΠ½ΠΈΠΌ ΡΡΠ°ΠΆΠ΅ΠΌ, Π³ΠΎΡΠΎΠ²ΠΈΡ ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² ΠΈ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΊ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π°ΠΌ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅.
- ΠΡΡΡΡ Π‘Π°ΠΏΡΡΠΊΠΈΠ½ β Ex-Data Scientist ΠΠΠ Β«ΠΠ΅Π³Π°ΡΠΎΠ½Β», ΡΠ°Π±ΠΎΡΠ°Π» Ρ ΠΊΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ Π°ΡΠ΄ΠΈΠΎ.
π ΠΠ°ΡΠ°Π»ΠΎ ΠΊΡΡΡΠ° Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ! Π£ΡΠΈΡΠ΅ΡΡ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ Π΄Π»Ρ Π²Π°Ρ ΡΠ΅ΠΌΠΏΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ CoreApp.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Ρ ΠΎΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ
(function () { let link = document .getElementById ("3b79014a-039b-49bd-b6bd-3c89cd4b4bcb-https://proglib.io/w/fc76a435-26"); if (! link) return; let href = link .getAttribute ("href"); if (! href) return; let prefix = link .dataset .prefix; let action = link .dataset .action; link .addEventListener ("click", function (e) { let data = new FormData (); data .append ("url", href); apiFetch (action, { method: "POST", body: data }) .then (function (res) {}) .catch (function (err) { console .error (err); }); }) })();
***
ΠΠΈΠ΄ Π½Π° ΠΌΠΎΡΠ΅
ΠΡΠΈ Π·Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π½Π°Π±Π΅ΡΠ΅ΠΆΠ½ΠΎΠΉ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ»Π° Π·Π΄Π°Π½ΠΈΡ Π² Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΠΎΠΌΠ° Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄Π° Π½Π° ΠΌΠΎΡΠ΅:
ΠΠ»Π°ΡΡΠΈ Π³ΠΎΡΠΎΠ΄Π° ΡΠ΅ΡΠΈΠ»ΠΈ ΡΠ½Π΅ΡΡΠΈ Π²ΡΠ΅ Π·Π΄Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ Π²ΠΈΠ΄ Π½Π° ΠΌΠΎΡΠ΅. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½Π° Π²Ρ ΠΎΠ΄ ΡΠΏΠΈΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΠΆΠ΅ΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π΄Π°Π½ΠΈΡ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π·Π΄Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ°Π½ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ½ΠΎΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ Π²Π²ΠΎΠ΄Π°
ΠΡΠ²ΠΎΠ΄
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π΄Π°ΡΠ° ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΏΠΎΠΈΡΠΊΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠ΅ΠΉΡΡ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ O(n log m), Π³Π΄Π΅ n β ΡΠ°Π·ΠΌΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° x, Π° m β ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΌΠΎΠΉ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ:
- ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° i ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ x_i ΠΊ ΡΠ°ΠΌΠΎΠΉ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠΎΠΈΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° x_1, ..., x_{i-1}.
- Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° x_1, ..., x_{i-1}. ΠΠ²Π΅ Π²Π°ΠΆΠ½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ y β ΡΡΠΎ Π΅Π΅ Π΄Π»ΠΈΠ½Π° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
- ΠΡ Π±ΡΠ΄Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠΎ Π΅ΡΡΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ ΠΈ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π΄Π»ΠΈΠ½Ρ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
- ΠΠ»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² b, Π³Π΄Π΅ b[k] β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°ΠΌΠΎΠΉ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»ΠΈΠ½Ρ k. ΠΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ ΡΡΡΠΎΠ³ΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠΈΠΌ.
- ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ x_i, ΡΠΎ ΠΈΡΠ΅ΠΌ, Π² ΠΊΠ°ΠΊΡΡ ΠΈΠ· Π½Π΅Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ x_i, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΡ, Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π° O(log m) Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°.
- ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΈΡ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²: h (Ρ ΡΠ°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² x) ΠΈ p (Ρ ΡΠ°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅).
π ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°
ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°Β»
ππ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ±Π΅ΡΠ° ΠΏΠΎ Python
ΠΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ±Π΅ΡΠ° ΠΏΠΎ PythonΒ»
ππ§© ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ Python
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Python Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ PythonΒ»
Π¦ΡΠΊΠ°ΡΡ
ΠΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π»ΡΠ±ΠΈΡ ΡΡΠΊΠ°ΡΡ, Π½ΠΎ ΡΠ΅ΡΠΏΠ΅ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΈΡΠΎΠ³ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΊΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΡΡΠΊΠΎΠΌ ΠΏΠΈΡΠΎΠ³Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ΠΈ ΡΠΊΡΠ°ΡΠ°ΡΡ. ΠΠ°ΠΊΠΎΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΊΡΡΠΎΠΊ ΠΏΠΈΡΠΎΠ³Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡΠ΅Π·Π°ΡΡ ΠΠ°ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² ΡΡΠΊΠ°ΡΠΎΠ²?
Π¦ΡΠΊΠ°ΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ Π±ΡΠΊΠ²Π°ΠΌΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π°Π»ΡΠ°Π²ΠΈΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ Ρ Π±ΡΠΊΠ²Π°ΠΌΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ β Π½ΡΠΆΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΡΡΠΊΠ°ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ Π²Π²ΠΎΠ΄Π°
ΠΡΠ²ΠΎΠ΄
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΡΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° k. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΡΡΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΠΈΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²ΠΈΠ΄ΠΎΠ² ΡΡΠΊΠ°ΡΠΎΠ². Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(n), Π³Π΄Π΅ n β Π΄Π»ΠΈΠ½Π° Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΠΎΠ»ΡΠ·ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ:
Π‘ΠΏΡΡΠ½ΠΈΠΊΠΎΠ²ΡΠ΅ Π°Π½ΡΠ΅Π½Π½Ρ
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ Π±Π΅ΡΠ΅Π³ΠΎΠ²Π°Ρ Π»ΠΈΠ½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΡ x. ΠΠΎΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΡΠ΅ ΠΎΡΠΈ x, Π° ΡΡΡΠ° β Π½ΠΈΠΆΠ΅. Π ΠΌΠΎΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΡΡΡΠΎΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ x ΠΈ y. ΠΠ΅Π»Π΅Π½ΡΠ΅ ΡΠΏΡΡΠ½ΠΈΠΊΠΎΠ²ΡΠ΅ Π°Π½ΡΠ΅Π½Π½Ρ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π½Π° Π±Π΅ΡΠ΅Π³Ρ, ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΊΡΡΠ²Π°ΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ d. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ d ΠΈ ΡΠΈΡΠ»ΠΎ ΠΎΡΡΡΠΎΠ²ΠΎΠ² n, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ β n Π½Π°Π±ΠΎΡΠΎΠ² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΎΡΡΡΠΎΠ²ΠΎΠ², ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°Π½ΡΠ΅Π½Π½ Π΄Π»Ρ ΠΏΠΎΠΊΡΡΡΠΈΡ Π²ΡΠ΅Ρ ΠΎΡΡΡΠΎΠ²ΠΎΠ²:
ΠΡΠΈΠΌΠ΅Ρ Π²Π²ΠΎΠ΄Π°
ΠΡΠ²ΠΎΠ΄
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΡΠΌΠΎΠΉ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΈΠ΄Π΅Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ Π»ΠΈΠ½ΠΈΡ ΠΎΡ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΊΡΠ°Ρ Π΄ΠΎ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΠΏΠΎ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΡΠΎΠ±ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ O(n log n):
Π‘Π°ΠΌΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½Π° Π²Ρ ΠΎΠ΄ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌΠΎΠ², ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ°ΠΌΡΠΉ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΈΠ· Π½ΠΈΡ . ΠΡΠ»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌΠΎΠ² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ β Π²ΡΠ²Π΅ΡΡΠΈ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ . ΠΡΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ Π² ΡΡΡΠΎΠΊΠ΅ Π½Π΅Ρ.
ΠΡΠΈΠΌΠ΅Ρ Π²Π²ΠΎΠ΄Π°
ΠΡΠ²ΠΎΠ΄
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΡ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ Π·Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Ρ Π½Π°ΠΈΠ²Π½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΈ Π·Π° O(n log n) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΡΡΡΠΈΠΊΡΠΎΠ². ΠΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ°Π½Π°ΠΊΠ΅ΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π² 1975 Π³ΠΎΠ΄Ρ.
ΠΠ»ΡΡΠ΅Π²Π°Ρ ΠΈΠ΄Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌΠΎΠ², ΡΡΠΎΠ±Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π²ΡΡΠΈΡΠ»ΡΡΡ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌΠΎΠ², ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π΅ΡΡΡ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌ, ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° c, ΡΠ°Π΄ΠΈΡΡΠ° d β c, Π³Π΄Π΅ d β ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΡΡΡΡ j β Π·Π΅ΡΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ i ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ c.
ΠΠ· ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌ, ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° j, ΡΠ°Π΄ΠΈΡΡΠ° p[j], Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π²Π΅Π½ ΡΠ»ΠΎΠ²Ρ, ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Π½Π° i, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π΄ΠΎ ΡΠ°Π΄ΠΈΡΡΠ° d β i. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, p[j] ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΈΠΆΠ½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ p[i].
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ p[i] Ρ p[j] ΠΈ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π²ΠΏΡΠ°Π²ΠΎ, ΡΡΠ°Π²Π½ΠΈΠ²Π°Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ p[i] Π·Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ p:
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ°ΠΏΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ:
- ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΡΡΠΎΠΊΡ s, Π²ΡΡΠ°Π²Π»ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ # Π²ΠΎΠΊΡΡΠ³ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΠΈ ^ ΠΈ $ ΠΏΠΎ ΠΊΡΠ°ΡΠΌ ΡΡΡΠΎΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, abc ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ^#a#b#c#$. ΠΡΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ t.
- ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ½ΠΎΠΉ, ΡΠ°ΠΊ ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ.
- ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ #. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π²Π° ΠΊΠΎΠ½ΡΠ° ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌΠ° ΠΈΠΌΠ΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ΅ΡΠ½ΠΎΡΡΡΡ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ t Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ s.
- ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΠΈ ^ ΠΈ $ ΠΈΠ·Π±Π°Π²Π»ΡΡΡ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π³ΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ.
***
ΠΡΡΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ
Π Π΅ΡΠ°Π΅ΠΌ 5 ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π½ΡΡ Π·Π°Π΄Π°Ρ Π½Π° Python: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π±ΠΈΡΠΎΠ²ΡΡ ΠΌΠ°ΡΠΊΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½ΡΡ ΡΠ·ΠΎΡΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΈΠ³ΡΡ, ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΡΡΡΠ±ΠΊΠΈ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π², ΠΈ Π²ΡΡΡΠ½ΡΠ΅ΠΌ, Π·Π° ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ±Π΅ΠΆΠ°ΡΡ ΠΏΠΎ ΡΡΠΊΠ°Π»Π°ΡΠΎΡΡ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ Python: ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π°Π½ΠΎΠ½ΠΈΠΌΠΊΡ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π³ΠΈΠΏΠΎΡΠ΅Π·Ρ ΠΠΎΠ»Π»Π°ΡΡΠ°, ΡΠ΅ΡΠ°Π΅ΠΌ ΡΡΠ΄ΠΎΠΊΡ, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΠΊΡΡ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ISBN ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Ρ Π·Π°Π½ΡΡΠΎΡΡΠΈ.
Π Π΅ΡΠ°Π΅ΠΌ 5 ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ: ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ Π½Π° ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΡΡΡ, Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΠ°ΠΌΠ΅ΡΠ°Ρ-ΠΠ΅Π²Π΅Π½ΡΡΠ΅ΠΉΠ½Π° ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ².