Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (Π°Π½Π³Π». Greedy algorithm ) β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ Π² принятии локально ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС, допуская, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ окаТСтся ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли структура Π·Π°Π΄Π°Ρ‡ΠΈ задаСтся ΠΌΠ°Ρ‚Ρ€ΠΎΠΈΠ΄ΠΎΠΌ, Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° выдаст Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΡƒΠΌ.

Если глобальная ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ мСсто практичСски всСгда, Π΅Π³ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Условия примСнимости

ΠžΠ±Ρ‰Π΅Π³ΠΎ критСрия ΠΎΡ†Π΅Π½ΠΊΠΈ примСнимости ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ сущСствуСт, ΠΎΠ΄Π½Π°ΠΊΠΎ, для Π·Π°Π΄Π°Ρ‡, Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… ΠΆΠ°Π΄Π½Ρ‹ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ Π΄Π²Π΅ особСнности: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΊ Π½ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΎΠ½ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ свойством ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°

Говорят, Ρ‡Ρ‚ΠΎ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°, Ссли ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ локально ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠ² Π΄Π°Ρ‘Ρ‚ глобально ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π’ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΌ случаС Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ слСдуСт Ρ‚Π°ΠΊΠΎΠΉ схСмС:

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡

Говорят, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ свойством ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡, Ссли ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ содСрТит Π² сСбС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для всСх Π΅Ρ‘ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡. НапримСр, Π² Π·Π°Π΄Π°Ρ‡Π΅ ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ заявок ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌβ€” ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ заявок, содСрТащий заявку Π½ΠΎΠΌΠ΅Ρ€ 1, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌβ€” ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ заявок для мСньшСго мноТСства заявок Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, состоящСго ΠΈΠ· Ρ‚Π΅Ρ… заявок, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π Π°Π·ΠΌΠ΅Π½ ΠΌΠΎΠ½Π΅Ρ‚

Π—Π°Π΄Π°Ρ‡Π°. ΠœΠΎΠ½Π΅Ρ‚Π½Π°Ρ систСма Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ государства состоит ΠΈΠ· ΠΌΠΎΠ½Π΅Ρ‚ достоинством Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ВрСбуСтся Π²Ρ‹Π΄Π°Ρ‚ΡŒ сумму Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ количСством ΠΌΠΎΠ½Π΅Ρ‚.

Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Π°ΠΊΠΎΠ². БСрётся наибольшСС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ количСство ΠΌΠΎΠ½Π΅Ρ‚ достоинства Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ, сколько Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΎΠ½Π΅Ρ‚ мСньшСго Π½ΠΎΠΌΠΈΠ½Π°Π»Π°, ΠΈ Ρ‚. Π΄.

Для Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π΅ всСгда Π΄Π°Ρ‘Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. НапримСр, сумму Π² 24 ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ ΠΌΠΎΠ½Π΅Ρ‚Π°ΠΌΠΈ Π² 1, 5 ΠΈ 7 ΠΊΠΎΠΏ. ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π·ΠΌΠ΅Π½ΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ: 7 ΠΊΠΎΠΏ. β€” 3 ΡˆΡ‚., 1 ΠΊΠΎΠΏ. β€” 3 ΡˆΡ‚., Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” 7 ΠΊΠΎΠΏ. β€” 2 ΡˆΡ‚., 5 ΠΊΠΎΠΏ. β€” 2 ΡˆΡ‚. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π° всСх Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ½Π΅Ρ‚Π½Ρ‹Ρ… систСмах ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄Π°Ρ‘Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

Π’Ρ‹Π±ΠΎΡ€ заявок

Π€ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° β„– 1. Π”Π°Π½Ρ‹ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ алгоритмзаявок Π½Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ занятий Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ заявкС ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† занятия ( Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ алгоритмдля Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ-ΠΉ заявки). Π’ случаС пСрСсСчСния заявок ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ лишь ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ…. Заявки с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ алгоритмсовмСстны, Ссли ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ). Π—Π°Π΄Π°Ρ‡Π° ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ заявок состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ максимальноС количСство совмСстных Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ заявок.

Π€ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° β„– 2. На ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ отвСсти большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сСкции разнСсли ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ аудиториям. Π£Ρ‡Ρ‘Π½Ρ‹ΠΉ с Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ интСрСсами Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ нСсколько Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ², проходящих Π² Ρ€Π°Π·Π½Ρ‹Ρ… сСкциях. Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ ΠΊΠΎΠ½Π΅Ρ† Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π°. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ максимальноС количСство Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ.

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘ΠΌ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. ΠŸΡ€ΠΈ этом ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ заявки упорядочСны Π² порядкС возрастания Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ окончания. Если это Π½Π΅ Ρ‚Π°ΠΊ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π·Π° врСмя Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ; заявки с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ½Ρ†Π° располагаСм Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС.

На Π²Ρ…ΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ ΠΏΠΎΠ΄Π°ΡŽΡ‚ΡΡ массивы Π½Π°Ρ‡Π°Π»Π° ΠΈ окончания занятий. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ A состоит ΠΈΠ· Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… заявок, Π° j β€” Π½ΠΎΠΌΠ΅Ρ€ послСднСй заявки. Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΡ‰Π΅Ρ‚ заявку, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ Π½Π΅ Ρ€Π°Π½Π΅Π΅ окончания j-Ρ‚ΠΎΠΉ, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡƒΡŽ заявку Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² A, Π° j присваиваСт Π΅Ρ‘ Π½ΠΎΠΌΠ΅Ρ€. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ‚ΠΎ (Π΅Ρ‰Ρ‘ Π½Π΅ Π½Π°Ρ‡Π°Π²ΡˆΠ΅Π΅ΡΡ) занятиС, Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ мСньшС всСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π° Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сортировка плюс Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС выбираСтся Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ПокаТСм, Ρ‡Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ получится ΠΎΠΏΡ‚ΠΈΠΌΡƒΠΌ.

Π”ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС заявки отсортированы ΠΏΠΎ Π½Π΅ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ окончания. Заявка Π½ΠΎΠΌΠ΅Ρ€ 1, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΎΠΏΡ‚ΠΈΠΌΡƒΠΌ (Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΠ°ΠΌΡƒΡŽ Ρ€Π°Π½Π½ΡŽΡŽ заявку Π² ΠΎΠΏΡ‚ΠΈΠΌΡƒΠΌΠ΅ Π½Π° Π½Π΅Ρ‘, ΠΎΡ‚ этого Ρ…ΡƒΠΆΠ΅ Π½Π΅ станСт). Π’Ρ‹ΠΊΠΈΠ½ΡƒΠ² всС заявки, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡Π°Ρ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ с мСньшим количСством заявок. РассуТдая ΠΏΠΎ ΠΈΠ½Π΄ΡƒΠΊΡ†ΠΈΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΆΠ°Π΄Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² являСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π Π°Π΄ΠΎ β€” Эдмондса.

Π—Π°Π΄Π°Ρ‡ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π΅ Π΄Π°ΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Для ряда Π·Π°Π΄Π°Ρ‡, относящихся ΠΊ классу NP, ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π΅ Π΄Π°ΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. К Π½ΠΈΠΌ относятся:

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² рядС Π·Π°Π΄Π°Ρ‡ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π΄Π°ΡŽΡ‚ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΈΠ΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡ‘Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

1) Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ?

Π’ GREEDY ALGORITHM Π½Π°Π±ΠΎΡ€ рСсурсов рСкурсивно раздСляСтся Π½Π° основС максимальной, Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ доступности этого рСсурса Π½Π° любом этапС выполнСния.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° ΠΆΠ°Π΄Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅, Π΅ΡΡ‚ΡŒ Π΄Π²Π° этапа

Π­Ρ‚ΠΈ этапы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ дСлСния массива.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΆΠ°Π΄Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ практичСскиС знания рСкурсии ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ контСкста. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΆΠ°Π΄Π½ΡƒΡŽ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π²Π°ΡˆΠΈΡ… собствСнных Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΈ достаточных ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ.

Π”Π²Π° условия ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΆΠ°Π΄Π½ΡƒΡŽ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ² Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π΄Π°Π²Π°ΠΉΡ‚Π΅ опишСм ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с ΠΆΠ°Π΄Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Greedy Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΆΠ°Π΄Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

Π’ΠΎΡ‚ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ ΠΆΠ°Π΄Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²:

Π–Π°Π΄Π½Ρ‹Π΅ стратСгии ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Π›ΠΎΠ³ΠΈΠΊΠ° Π² Π΅Π΅ самой простой Ρ„ΠΎΡ€ΠΌΠ΅ сводилась ΠΊ Β«ΠΆΠ°Π΄Π½ΠΎΠΌΡƒΒ» ΠΈΠ»ΠΈ Β«Π½Π΅ ΠΆΠ°Π΄Π½ΠΎΠΌΡƒΒ». Π­Ρ‚ΠΈ утвСрТдСния Π±Ρ‹Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ, принятым для продвиТСния Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ стадии Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

НапримСр, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДТикстра использовал ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΡƒΡŽ ΠΆΠ°Π΄Π½ΡƒΡŽ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ хосты Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΏΡƒΡ‚Π΅ΠΌ вычислСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ стоимости. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ стоимости, опрСдСляСт, являСтся Π»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΡ‚ΡŒ Β«ΠΆΠ°Π΄Π½Ρ‹ΠΌΒ» ΠΈΠ»ΠΈ Β«Π½Π΅ ΠΆΠ°Π΄Π½Ρ‹ΠΌΒ».

ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ пСрСстаСт Π±Ρ‹Ρ‚ΡŒ ΠΆΠ°Π΄Π½Ρ‹ΠΌ, Ссли Π½Π° любом этапС ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ шаг, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ являСтся локально ΠΆΠ°Π΄Π½Ρ‹ΠΌ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° останавливаСтся Π±Π΅Π· дальнСйшСго ΠΎΡ…Π²Π°Ρ‚Π° Тадности.

Π₯арактСристики ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°

Π’Π°ΠΆΠ½Ρ‹ΠΌΠΈ характСристиками ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΠ°Π΄Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄?

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ использования ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Π° активности

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ планирования дСйствий Π΅ΡΡ‚ΡŒ врСмя Β«Π½Π°Ρ‡Π°Π»Π°Β» ΠΈ «окончания» для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дСйствия. КаТдоС мСроприятиС индСксируСтся Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ для справки. Π•ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠžΠ±Ρ‰Π°Ρ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π΅Ρ‚ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ выполнСния дСйствия. Π’ΠΎ Π΅ΡΡ‚ΡŒ (Ρ„ΠΈΠ½ΠΈΡˆ β€” старт) Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Тадная ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ β€” это количСство ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²ΠΎ врСмя рассматриваСмой Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

АрхитСктура Π–Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°

ШАГ 1)

Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списка Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, начиная с индСкса 0 Π² качСствС рассматриваСмого индСкса.

ШАГ 2)

Когда ΠΊ Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ большС дСйствий, рассматриваСмая опСрация заканчиваСтся, Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ поиск ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ дСйствий.

ШАГ 3)

Если ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ дСйствий большС Π½Π΅Ρ‚, Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ дСйствиС становится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ рассматриваСмым дСйствиСм. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ шаги 1 ΠΈ 2 для Π½ΠΎΠ²ΠΎΠΉ рассматриваСмой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Если Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΡˆΠ°Π³Ρƒ 4.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (Π°Π½Π³Π». Greedy algorithm ) β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ Π² принятии локально ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС, допуская, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ окаТСтся ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

Если глобальная ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ мСсто практичСски всСгда, Π΅Π³ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΆΠ°Π΄Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°

Говорят, Ρ‡Ρ‚ΠΎ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°, Ссли ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ локально ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠ² Π΄Π°Ρ‘Ρ‚ глобально ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π’ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΌ случаС Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ слСдуСт Ρ‚Π°ΠΊΠΎΠΉ схСмС: Π‘Π½Π°Ρ‡Π°Π»Π° доказываСтся, Ρ‡Ρ‚ΠΎ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ: для всякого Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, согласованноС с ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΈ Π½Π΅ Ρ…ΡƒΠ΄ΡˆΠ΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ. Π—Π°Ρ‚Π΅ΠΌ показываСтся, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Π°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π°Ρ послС ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° исходной, ΠΈ рассуТдСниС Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎ ΠΈΠ½Π΄ΡƒΠΊΡ†ΠΈΠΈ.

Бвойство ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡

Говорят, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ свойством ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡, Ссли ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ содСрТит Π² сСбС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для всСх Π΅Ρ‘ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡. НапримСр, Π² Π·Π°Π΄Π°Ρ‡Π΅ ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ заявок ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли A β€” ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ заявок, содСрТащий заявку Π½ΠΎΠΌΠ΅Ρ€ 1, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌβ€” ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ заявок для мСньшСго мноТСства заявок Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, состоящСго ΠΈΠ· Ρ‚Π΅Ρ… заявок, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π Π°Π·ΠΌΠ΅Π½ ΠΌΠΎΠ½Π΅Ρ‚

Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Π°ΠΊΠΎΠ². БСрётся наибольшСС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ количСство ΠΌΠΎΠ½Π΅Ρ‚ достоинства an : Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ, сколько Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΎΠ½Π΅Ρ‚ мСньшСго Π½ΠΎΠΌΠΈΠ½Π°Π»Π°, ΠΈ Ρ‚. Π΄.

Для Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π΅ всСгда Π΄Π°Ρ‘Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. НапримСр, сумму Π² 10 ΠΊΠΎΠΏΠ΅Π΅ΠΊ ΠΌΠΎΠ½Π΅Ρ‚Π°ΠΌΠΈ Π² 1, 5 ΠΈ 6 ΠΊΠΎΠΏ. ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π·ΠΌΠ΅Π½ΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ: 6 ΠΊΠΎΠΏ. β€” 1 ΡˆΡ‚., 1 ΠΊΠΎΠΏ. β€” 4 ΡˆΡ‚., Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” 2 ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ ΠΏΠΎ 5 ΠΊΠΎΠΏΠ΅Π΅ΠΊ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π° всСх Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ½Π΅Ρ‚Π½Ρ‹Ρ… систСмах ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄Π°Ρ‘Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

Π’Ρ‹Π±ΠΎΡ€ заявок

Π€ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° β„– 2. На ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ отвСсти большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сСкции разнСсли ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ аудиториям. Π£Ρ‡Ρ‘Π½Ρ‹ΠΉ с Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ интСрСсами Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ нСсколько Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ², проходящих Π² Ρ€Π°Π·Π½Ρ‹Ρ… сСкциях. Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ si ΠΈ ΠΊΠΎΠ½Π΅Ρ† fi ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π°. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ максимальноС количСство Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. ΠŸΡ€ΠΈ этом ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ заявки упорядочСны Π² порядкС возрастания Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ окончания. Если это Π½Π΅ Ρ‚Π°ΠΊ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π·Π° врСмя O(nlogn + n) ; заявки с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ½Ρ†Π° располагаСм Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС.

На Π²Ρ…ΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ ΠΏΠΎΠ΄Π°ΡŽΡ‚ΡΡ массивы Π½Π°Ρ‡Π°Π»Π° ΠΈ окончания занятий. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ A состоит ΠΈΠ· Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… заявок, Π° j β€” Π½ΠΎΠΌΠ΅Ρ€ послСднСй заявки. Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΡ‰Π΅Ρ‚ заявку, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ Π½Π΅ Ρ€Π°Π½Π΅Π΅ окончания j-Ρ‚ΠΎΠΉ, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡƒΡŽ заявку Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² A, Π° j присваиваСт Π΅Π΅ Π½ΠΎΠΌΠ΅Ρ€.

Π”ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС заявки отсортированы ΠΏΠΎ Π½Π΅ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ окончания. Заявка Π½ΠΎΠΌΠ΅Ρ€ 1, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΎΠΏΡ‚ΠΈΠΌΡƒΠΌ (Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΠ°ΠΌΡƒΡŽ Ρ€Π°Π½Π½ΡŽΡŽ заявку Π² ΠΎΠΏΡ‚ΠΈΠΌΡƒΠΌΠ΅ Π½Π° Π½Π΅Π΅, ΠΎΡ‚ этого Ρ…ΡƒΠΆΠ΅ Π½Π΅ станСт). Π’Ρ‹ΠΊΠΈΠ½ΡƒΠ² всС заявки, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡Π°Ρ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ с мСньшим количСством заявок. РассуТдая ΠΏΠΎ ΠΈΠ½Π΄ΡƒΠΊΡ†ΠΈΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΆΠ°Π΄Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² являСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π Π°Π΄ΠΎ β€” Эдмондса.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток, Ρ…Π°Π±Ρ€! БСгодня я Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡: динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€. НС ΠΌΠ΅Π½Π΅Π΅ извСстными ΠΈ довольно распространСнными ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

Π”ΡƒΠΌΠ°ΡŽ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ программист Π² своСй ΠΆΠΈΠ·Π½ΠΈ хотя Π±Ρ‹ Ρ€Π°Π· написал ΠΆΠ°Π΄ΠΈΠ½Ρƒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡΡΡŒ ΠΎΠ± этом. Π§Ρ‚ΠΎ ΠΆΠ΅ это Ρ‚Π°ΠΊΠΎΠ΅? Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚.

Π–Π°Π΄Π½ΠΎΡΡ‚ΡŒ Π½Π΅ ΠΏΠΎΡ€ΠΎΠΊ

Π˜Ρ‚Π°ΠΊ, ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (greedy algorithm) β€” это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡˆΠ°Π³Ρƒ Π΄Π΅Π»Π°Π΅Ρ‚ локально Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅, Ρ‡Ρ‚ΠΎ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ.
К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ Π² Π³Ρ€Π°Ρ„Π΅ Π²ΠΏΠΎΠ»Π½Π΅ сСбС ΠΆΠ°Π΄Π½Ρ‹ΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡˆΠ°Π³Ρƒ ΠΈΡ‰Π΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ с наимСньшим вСсом, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π²Π°Π»ΠΈ, послС Ρ‡Π΅Π³ΠΎ обновляСм значСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ€ΡˆΠΈΠ½. ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π°Ρ…, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

К слову, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π€Π»ΠΎΠΉΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΎΠΆΠ΅ ΠΈΡ‰Π΅Ρ‚ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ Π² Π³Ρ€Π°Ρ„Π΅ (ΠΏΡ€Π°Π²Π΄Π°, ΠΌΠ΅ΠΆΠ΄Ρƒ всСми Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ), Π½Π΅ являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€Π»ΠΎΠΉΠ΄ дСмонстрируСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ динамичСского программирования.

ИспользованиС ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° довольно стандартноС. Рассмотрим Π΅Π³ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ:

Π—Π°Π΄Π°Ρ‡Π° ΠΎ расписании

ΠŸΡƒΡΡ‚ΡŒ программисту-фрилансСру ВасС ΠŸΡƒΠΏΠΊΠΈΠ½Ρƒ Π΄Π°Π½ΠΎ n Π·Π°Π΄Π°Π½ΠΈΠΉ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ задания извСстСн свой Π΄Π΅Π΄Π»Π°ΠΉΠ½, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ(Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ссли ΠΎΠ½ Π½Π΅ выполняСт это Π·Π°Π΄Π°Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΎΠ½ тСряСт ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ-Ρ‚ΠΎ Π΄Π΅Π½Π΅Π³). Вася Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€ΡƒΡ‚, Ρ‡Ρ‚ΠΎ Π·Π° ΠΎΠ΄ΠΈΠ½ дСнь ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ задания ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° 0. НуТно ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ.

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ примСнСния ΠΆΠ°Π΄ΠΈΠ½Ρ‹: ВасС Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ самыС Β«Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ задания», Π° Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ β€” Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ максимальна. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ задания? Π‘ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ задания Π² порядкС убывания стоимости ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ расписаниС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Ссли для Π·Π°ΠΊΠ°Π·Π° Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ свободноС мСсто Π² расписании Ρ€Π°Π½ΡŒΡˆΠ΅ Π΅Π³ΠΎ Π΄Π΅Π΄Π»Π°ΠΉΠ½Π°, Ρ‚ΠΎ поставим Π΅Π³ΠΎ Π½Π° самоС послСднСС ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… мСст, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π² срок ΠΌΡ‹ Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Π·Π½Π°Ρ‡ΠΈΡ‚ поставим Π² ΠΊΠΎΠ½Π΅Ρ† ΠΈΠ· свободных мСст.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Когда ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΆΠ°Π΄Π½Ρ‹ΠΌ?

ВсСгда Иногда ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΈΡΠΊΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΠ°Π΄ΠΈΠ½Ρƒ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… это Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠΌΠΎ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π·Π°Π΄Π°Ρ‡Π° ΠΎ Ρ€ΡŽΠΊΠ·Π°ΠΊΠ΅: Π²ΠΎΡ€ пробрался Π½Π° склад, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Ρ‚Ρ€ΠΈ Π²Π΅Ρ‰ΠΈ вСсом 10 ΠΊΠ³, 20 ΠΊΠ³ ΠΈ 30 ΠΊΠ³ ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ 60, 100 ΠΈ 120 дСрСвянных Π²Π΅Ρ‡Π½ΠΎΠ·Π΅Π»Π΅Π½Ρ‹Ρ… Π½Π°Π½ΠΎΡ€ΡƒΠ±Π»Π΅ΠΉ соотвСтствСнно. Π’ΠΎΡ€ максимум ΠΌΠΎΠΆΠ΅Ρ‚ унСсти 50 ΠΊΠ³. НуТно ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ Π²ΠΎΡ€Π°. Если ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ здСсь ΠΆΠ°Π΄Π½ΠΎ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ Ρ†Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ(Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, 6 Π½Π°Π½ΠΎΡ€ΡƒΠ±Π»Π΅ΠΉ Π·Π° ΠΊΠ³ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΡˆΡ‚ΡƒΠΊΠΈ, 5 Π½Π°Π½ΠΎΡ€ΡƒΠ±Π»Π΅ΠΉ Π·Π° ΠΊΠ³ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ 4 нанорубля Π·Π° ΠΊΠ³ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ), Ρ‚ΠΎ Π²ΠΎΡ€ ΠΏΠΎ-Π»ΡŽΠ±ΠΎΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π·ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ‰ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌ останСтся мСсто для Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Ρ‰ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ составляСт вторая ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ Π²Π΅Ρ‰ΡŒ.

Π’Ρ‹Π²ΠΎΠ΄: Ссли ΡΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π³Ρ€Π°Π±ΠΈΡ‚ΡŒ, Ρ‚ΠΎ Π±Π΅Ρ€ΠΈΡ‚Π΅ с собой Π³Ρ€ΡƒΠ·ΠΎΠ²ΠΈΠΊ. Π΅ΡΡ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнимости ΠΆΠ°Π΄Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². ΠžΠ±Ρ‰ΠΈΡ… Ρ€Π΅Ρ†Π΅ΠΏΡ‚ΠΎΠ² Ρ‚ΡƒΡ‚ Π½Π΅Ρ‚, Π½ΠΎ Π΅ΡΡ‚ΡŒ довольно ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, даст Π»ΠΈ ΠΆΠ°Π΄ΠΈΠ½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. НазываСтся ΠΌΠ°Ρ‚Ρ€ΠΎΠΈΠ΄.

Π–ΠΈΠ·Π½ΡŒ Π½Π΅ ΠΌΠ°Ρ‚Ρ€ΠΎΠΈΠ΄, Тизнь β€” ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚!

Как подсказываСт википСдия, ΠΌΠ°Ρ‚Ρ€ΠΎΠΈΠ΄ β€” это ΠΏΠ°Ρ€Π° (X, I), Π³Π΄Π΅ X β€” ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ мноТСство, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ носитСлСм ΠΌΠ°Ρ‚Ρ€ΠΎΠΈΠ΄Π°, Π° I β€” Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ мноТСство подмноТСств X, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ сСмСйством нСзависимых мноТСств. ΠŸΡ€ΠΈ этом Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Алгоритмы β€” Ρ‡Π°ΡΡ‚ΡŒ 1. Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДСйкстры.

Π­Ρ‚Π° ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΠΊ ΠΈΠ· бСсплатной ΠΊΠ½ΠΈΠ³ΠΈ Β«ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ алгоритмичСского проСктирования (ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, раздСляй ΠΈ властвуй ΠΈ динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅)Β» β€”Brandon Algorithmic Design Paradigms (Greedy, Divide & Conquer, and Dynamic Programming).. ✨

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ это Ρ‚Π°ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стрСмятся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡˆΠ°Π³Ρƒ выбираСтся Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€, Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡΡΡŒ ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΆΠ°Π΄Π½Ρ‹ΠΌΠΈ?

Алгоритмы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΆΠ°Π΄Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΆΠ°Π΄Π½ΠΎΠ΅ свойство. Π–Π°Π΄Π½ΠΎΠ΅ свойство:

Π’ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€?

Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ β€” ΠΆΠ°Π΄Π½Ρ‹Π΅. Они Π½Π΅ смотрят Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ глобальноС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π˜Ρ… интСрСсуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Но ΠΎΠ±Ρ‰Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠ½ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΠ³Π»ΡΠ΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π°Π·Π°Π΄ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сдСлали, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π½ΡƒΠΆΠ½Π° Π»ΠΈ глобальная оптимизация. Π’ этом Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ ΠΈ динамичСского программирования.

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹?

Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΡ‡Π΅Π½ΡŒ быстрыС. Намного быстрСС, Ρ‡Π΅ΠΌ Π΄Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ (РаздСляй ΠΈ властвуй β€” Divide & Conquer, ΠΈ ДинамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Dynamic Programming). Они популярныС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ быстрыС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ популярных ΠΆΠ°Π΄Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²:

ΠœΡ‹ собираСмся Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Π½Π° извСстном ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ β€” подсчСт Π²Ρ‹Π΄Π°Ρ‡ΠΈ сдачи. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ слоТно для этой ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹.

Как ΠΌΠ½Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ?

Π’Π°Ρˆ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ всСгда ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° этот вопрос:

Каков Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ?

Π’ΠΎΡ‚ ΠΈ всС. НС Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ. Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π»Π΅Π³Ρ‡Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ «раздСляй ΠΈ властвуй»(Divide & Conquer) ΠΈΠ»ΠΈ динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Dynamic Programming).

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‡ΠΈ сдачи ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΆΠ°Π΄Π½ΠΎΡΡ‚ΡŒ

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚. ΠšΡ‚ΠΎ-Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Β£1 ΠΈ ΠΏΠΎΠΊΡƒΠΏΠ°Π΅Ρ‚ Π½Π°ΠΏΠΈΡ‚ΠΎΠΊ Π·Π° Β£0,70. Π’ Ρ„ΡƒΠ½Ρ‚Π΅ стСрлингов Π½Π΅Ρ‚ ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ 30 пСнсов (30p). Как Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, сколько сдачи Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ?

Для справки, Π½ΠΎΠΌΠΈΠ½Π°Π» ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ Π² Π’Π΅Π»ΠΈΠΊΠΎΠ±Ρ€ΠΈΡ‚Π°Π½ΠΈΠΈ:

Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ начинаСтся с самого высокого Π½ΠΎΠΌΠΈΠ½Π°Π»Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Наш Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ начинаСтся с Β£1.
Β£1 Ρ„ΡƒΠ½Ρ‚ большС, Ρ‡Π΅ΠΌ 30 пСнсов, поэтому ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π”Π°Π»Π΅Π΅ смотрим Π½Π° 50Ρ€, Π²ΠΈΠ΄ΠΈΠΌ Ρ‚ΠΎ ΠΆΠ΅ самоС. ΠŸΠΎΡ‚ΠΎΠΌ 20Ρ€. 20p 10p. Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ΄Π΅Ρ‚ Π΄ΠΎ 10Ρ€. Он Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ 1 ΠΌΠΎΠ½Π΅Ρ‚Ρƒ Π½Π° 10p, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ возвращаСтся 0, ΠΌΡ‹ останавливаСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

Π˜Ρ‚ΠΎΠ³ΠΎ ΠΌΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ 1x20p ΠΈ 1x10p.

Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° этот Ρ€Π°Π· Ρƒ нас Π΅ΡΡ‚ΡŒ Π½ΠΎΠΌΠΈΠ½Π°Π» ΠΈ количСство этой ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (Π½ΠΎΠΌΠΈΠ½Π°Π», количСство).

Алгоритм попросили снова Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ сдачу Π½Π° 30p. 100Ρ€ (Β£ 1) β€” это Π½Π΅Ρ‚. Π’ΠΎ ΠΆΠ΅ самоС для 50. Π”Π°Π»Π΅Π΅ 20p, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это. ΠœΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ 1x 20p. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 10Ρ€. 20p Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ, поэтому ΠΌΡ‹ ΠΈΠ΄Π΅ΠΌ Π²Π½ΠΈΠ· Π½Π° 1 Π½ΠΎΠΌΠΈΠ½Π°Π».

10p Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ, поэтому ΠΌΡ‹ ΠΈΠ΄Π΅ΠΌ Π΄Π°Π»Π΅Π΅ Π²Π½ΠΈΠ· Π΅Ρ‰Π΅ Π½Π° 1 Π½ΠΎΠΌΠΈΠ½Π°Π».

Π£ нас 5p, поэтому ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ 1x5p. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Ρ‰Π΅ 5Ρ€. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ 5p Π½ΠΎ ΠΎΠ½ΠΈ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈΡΡŒ, поэтому ΠΌΡ‹ спускаСмся Π²Π½ΠΈΠ·.

ΠœΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ 1 ΠΌΠΎΠ½Π΅Ρ‚Ρƒ Π½Π° 2p. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 3Ρ€. ΠœΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΅Ρ‰Π΅ 2 ΠΌΠΎΠ½Π΅Ρ‚Ρ‹. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 1Ρ€. ΠœΡ‹ спускаСмся Π΅Ρ‰Π΅ Ρ€Π°Π· Π²Π½ΠΈΠ·. Π’ΡƒΡ‚ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ 1x1p ΠΌΠΎΠ½Π΅Ρ‚Π°.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, наш Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²Ρ‹Π±Ρ€Π°Π» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ½Π΅Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ сдачу:

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌ это. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. НачнСм с условий.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π½ΠΎΠΌΠΈΠ½Π°Π»ΠΎΠ² ΠΈ суммы для внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ список Ρ‚ΠΎΠ³ΠΎ, сколько Ρ€Π°Π· эта ΠΌΠΎΠ½Π΅Ρ‚Π° Π±Ρ‹Π»Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π°.

Если наш список denominations Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅, Ρ‚ΠΎ [6, 3, 0, 0, 0, 0, 0] прСдставляСт собой взятиС 6 ΠΌΠΎΠ½Π΅Ρ‚ 1p ΠΈ 3 ΠΌΠΎΠ½Π΅Ρ‚ 2p, Π½ΠΎ 0 всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ½Π΅Ρ‚.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список denominations ΠΈ ΠΎΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ значСния Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ нулями.

ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΎΡ‚ самого большого Π΄ΠΎ самого малСнького. Reversed(x) ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ x ΠΈ позволяСт Π½Π°ΠΌ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Enumerate ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«Ρ†ΠΈΠΊΠ» ΠΏΠΎ этому списку, Π½ΠΎ сохраняйтС ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ». Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускаСм Ρ†ΠΈΠΊΠ». coin = 100 ΠΈ pos = 6.

Наш ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг β€” ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠΎΠ½Π΅Ρ‚Ρ‹, ΠΏΠΎΠΊΠ° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΌΠΎΠ½Π΅Ρ‚Ρƒ. Если Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ сдачу change = 40, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²Ρ‹Π±Ρ€Π°Π» 20, Π·Π°Ρ‚Π΅ΠΌ снова 20, ΠΏΠΎΠΊΠ° ΠΎΠ½ большС Π½Π΅ смоТСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 20. ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for.

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ coin всС Π΅Ρ‰Π΅ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ change, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ эту coin Π² наш список Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° toGiveBack ΠΈ ΡƒΠ΄Π°Π»ΠΈΠΌ Π΅Π΅ ΠΈΠ· сдачи.

ЯвляСтся Π»ΠΈ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π»ΡƒΡ‡ΡˆΠΈΠΌ? Π–Π°Π΄Π½ΠΎΡΡ‚ΡŒ всСгда Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Π’ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ Π½Π° локальном ΡƒΡ€ΠΎΠ²Π½Π΅, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ Π½Π° глобальном ΡƒΡ€ΠΎΠ²Π½Π΅. Π’ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ подсчСтС сдачи ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π½Π΅ являСтся Π»ΡƒΡ‡ΡˆΠΈΠΌ Π² глобальном ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅.

Допустим Ρƒ нас Π΅ΡΡ‚ΡŒ условиС:

И нас попросим Π²Ρ‹Π΄Π°Ρ‚ΡŒ сдачу Π² 30 пСнсов. Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ наш Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ 1x25p ΠΈ 5x1p. Π₯отя Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ β€” 2Ρ…15Ρ€.

Наш Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠ΅Π» Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ смотрСл Π½Π° 15p. Он ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ посмотрСл Π½Π° 25Ρ€ ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π»: Β«Π”Π°, это ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Π”Π°Π²Π°ΠΉΡ‚Π΅ возьмСм это».

Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ посмотрСл Π½Π° 15p ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ «это Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС» (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ 25 + 15 > 30).

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈΠ±ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π°Π»ΡŽΡ‚Ρƒ, Π³Π΄Π΅ это Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Или ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ глобально ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΆΠ°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ быстрСС ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Алгоритм ДСйкстры

Алгоритм ДСйкстры Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ ΡƒΠ·Π»Π° ΠΊΠΎ всСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠ·Π»Π°ΠΌ Π³Ρ€Π°Ρ„Π°. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π·Π²Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅Π±Ρ€Π° Π΅ΡΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΈ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅Π±Ρ€Π° Π΅ΡΡ‚ΡŒ вСс.

Алгоритм ДСйкстры ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Π΄ΠΎΡ€ΠΎΠΆΠ½Ρ‹Ρ… сСтях, Π³Π΄Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ самый быстрый ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΊ мСсту. Алгоритм Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для:

Алгоритм слСдуСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ:

Наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг β€” Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠ·Π΅Π». Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ A. ВсС расстояния Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ бСсконСчности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΈΡ… расстояния, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСм ΡƒΠ·Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Π΅Ρ‚ расстояниС.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

ΠœΡ‹ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅ΠΌ A Π² нашСм спискС Π½Π΅ посСщСнных ΡƒΠ·Π»ΠΎΠ². РасстояниС ΠΎΡ‚ A Π΄ΠΎ A Ρ€Π°Π²Π½ΠΎ 0. РасстояниС ΠΎΡ‚ A Π΄ΠΎ B Ρ€Π°Π²Π½ΠΎ 4. РасстояниС ΠΎΡ‚ A Π΄ΠΎ C Ρ€Π°Π²Π½ΠΎ 2. Наш список расстояний с ΠΏΡ€Π°Π²ΠΎΠΉ стороны рисунка.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ наимСньшСС расстояниС ΠΎΡ‚ нашСго Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΡƒΠ·Π»Π° Π΄ΠΎ ΡƒΠ·Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ посСтили. ΠœΡ‹ ΠΆΠ°Π΄Π½Ρ‹Π΅. Π’ этом случаС ΠΆΠ°Π΄Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ B ΠΈΠ· C. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ. min(4, 2 + 1) = 3.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ A->C->B мСньшС, Ρ‡Π΅ΠΌ A->B, ΠΌΡ‹ обновляСм B этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ добавляСм расстояния ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΠ·Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Наша ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ наимСньшая Π²Π΅Ρ€ΡˆΠΈΠ½Π° с ΡƒΠ·Π»ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ посСтили, это B, с 3. ΠœΡ‹ посСщаСм B.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΎ ΠΆΠ΅ самоС для B. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΡΠ°ΠΌΡƒΡŽ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ посСтили, D.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

На этот Ρ€Π°Π· ΠΌΡ‹ Π½Π΅ обновляСм расстояния. Наш послСдний ΡƒΠ·Π΅Π» Ρ‚ΠΎΠ³Π΄Π° E.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Π’Π°ΠΌ Π½Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ снова. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ A Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΠ·Π»ΠΎΠ², ΠΌΡ‹ пройдСмся ΠΏΠΎ Π½Π°ΡˆΠ΅ΠΌΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ.

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ A, Π·Π°Ρ‚Π΅ΠΌ C, Π° Π·Π°Ρ‚Π΅ΠΌ B. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ A Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° Π² Π²ΠΈΠ΄Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ΠΏΡ€Π°Π²ΠΎΠΉ стороны.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π΅ расстояниС ΠΎΡ‚ A Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Дробная Π·Π°Π΄Π°Ρ‡Π° ΠΎ Ρ€Π°Π½Ρ†Π΅ с использованиСм ΠΆΠ°Π΄Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ Π²ΠΎΡ€. Π’Ρ‹ Π²Ρ€Ρ‹Π²Π°Π΅ΡˆΡŒΡΡ Π² Π΄ΠΎΠΌ Π”ΠΆΡƒΠ΄ΠΈ Π₯ΠΎΠ»Π»ΠΈΠ΄Π΅ΠΉ β€” обладатСля ΠžΡΠΊΠ°Ρ€Π° 1951 Π³ΠΎΠ΄Π° Π·Π° Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΆΠ΅Π½ΡΠΊΡƒΡŽ Ρ€ΠΎΠ»ΡŒ. Π”ΠΆΡƒΠ΄ΠΈ кладСзь Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ. Π”ΠΎΠΌ Π”ΠΆΡƒΠ΄ΠΈ Π²Ρ‹Π»ΠΎΠΆΠ΅Π½ Π΄ΠΎ ΠΊΡ€Π°Π΅Π² Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌΠΈ камнями.

Π’Ρ‹ принСс с собой сумку β€” Ρ€ΡŽΠΊΠ·Π°ΠΊ. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ этой сумки β€” 7 ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² вСса. Π£ тСбя Π±Ρ‹Π» список всСх ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² Π”ΠΆΡƒΠ΄ΠΈ ΠΈΠ· ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ страховой Π±ΡƒΠΌΠ°Π³ΠΈ. ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€Π°Π½Ρ†Π° являСтся расчСт стоимости/вСса для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΆΠ°Π΄Π½ΠΎ ΠΎΡ‚Π±ΠΈΡ€Π°Π΅ΠΌ самыС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅. Для этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ/вСсу Π² порядкС убывания. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ для нас, ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ отсортированы. Π‘Π°ΠΌΡ‹ΠΉ большой β€” 3,2.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Francium (я знаю, Ρ‡Ρ‚ΠΎ это Π½Π΅ Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ камСнь, Π½ΠΎ Π”ΠΆΡƒΠ΄ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ странная 😉)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ добавляСм Π‘Π°ΠΏΡ„ΠΈΡ€. Но Ссли ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π‘Π°ΠΏΡ„ΠΈΡ€, наш ΠΎΠ±Ρ‰ΠΈΠΉ вСс достигнСт 8 ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ².

Π’ Π·Π°Π΄Π°Ρ‡Π΅ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€Π°Π½Ρ†Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π·ΡΡ‚ΡŒ ΠΈΡ… Π΄Ρ€ΠΎΠ±ΠΈ. Π£ нас Π² сумкС ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ 1 ΠΏΡƒΠ½ΠΊΡ‚ вСса. Наш сапфир ΠΈΠΌΠ΅Π΅Ρ‚ вСс 2 ΠΏΡƒΠ½ΠΊΡ‚Π°. ΠœΡ‹ рассчитываСм ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅:

Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ мСсто Π² Ρ€ΡŽΠΊΠ·Π°ΠΊΠ΅ / вСс Ρ‚ΠΎΠ²Π°Ρ€Π°

А Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΌΠ½ΠΎΠΆΡŒΡ‚Π΅ это ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько стоимости этого ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·ΡΡ‚ΡŒ.

1/2 * 6 = 3

Π–Π°Π΄Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€Π°Π½Ρ†Π°, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π°Π½Ρ†Π΅Π² . Π’ этой Π·Π°Π΄Π°Ρ‡Π΅ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ€Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ элСмСнта, Π²Ρ‹ Π»ΠΈΠ±ΠΎ Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΅Π³ΠΎ , Π»ΠΈΠ±ΠΎ Π½Π΅ Π±Π΅Ρ€Π΅Ρ‚Π΅ . Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° для Π½Π΅Π³ΠΎ O(n log n). РасчСтноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅/вСс O (1). Наш основной шаг β€” сортировка ΠΏΠΎ Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ/вСсу, Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ O(n log n) Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π–Π°Π΄Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΡ‡Π΅Π½ΡŒ быстрыС, Π½ΠΎ Π½Π΅ всСгда ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ глобальноС Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Но ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ Π»Π΅Π³Ρ‡Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Ρ‡Π΅ΠΌ ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³ΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *