рдХрд╛рд╣реА рджрд┐рд╡рд╕рд╛рдВрдкреВрд░реНрд╡реА рдШрдбрд▓реА
рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдордЬрдХреВрд░рд╛рдЪреНрдпрд╛ рд▓реЗрдЦрдХрд╛рдХрдбреВрди рдХреЛрдВрдЯреВрд░ рд╕реНрдЯрдБрдбрд╡рд░реАрд▓ рдХрд╛рд░реНрдпрд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЕрд╕рд▓реЗрд▓реА рд╣реА рдкреЛрд╕реНрдЯ рдЖрд╣реЗ. рд╣рд╛рдпрдбреНрд░рд╛рд╡рд░ рдХреЛрдг рд╣реЛрддреЗ - рд╣реЗ рдЖрдирдВрджрджрд╛рдпреА рдЕрдиреБрднрд╡ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреНрдпрд╛рдЪреЗ рддреБрдордЪреЗ рдХрд╛рд░рдг рдЖрд╣реЗ, рдХреЛрдг рдирд╡реНрд╣рддреЗ - рддреБрдордЪрд╛ рдореЗрдВрджреВ рддрд╛рдгрдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдореЛрдард╛ рдУ-рдиреЛрдЯреЗрд╢рди.
рдЕрд╕реЗрд╣реА рд╕рд╣рднрд╛рдЧреА рд╣реЛрддреЗ рдЬреНрдпрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдлреНрд▓рд┐рдкрдЪрд╛рд░реНрдЯрд▓рд╛ рд╕реНрд▓рд╛рдЗрдбреНрд╕рдордзреНрдпреЗ рдореЛрдбреВрди рдХрд╛рдврд▓реЗ. рдореА рдорд╕реНрдХрд░реА рдХрд░рдд рдирд╛рд╣реА - рддреНрдпрд╛рдВрдиреА рдХрд╛рдЧрджрд╛рдЪрд╛ рд╣рд╛ рд╕реНрдЯреЕрдХ рдкрдбрддрд╛рд│рдгреАрд╕рд╛рдареА рджрд┐рд▓рд╛:
рдПрдХреВрдг рддреАрди рдХрд╛рд░реНрдпреЗ рд╣реЛрддреА:
- рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧрд╕рд╛рдареА рд╡рдЬрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рддрд┐рдХреГрддреА рдирд┐рд╡рдбрдгреНрдпрд╛рдмрджреНрджрд▓
- рдЗрди-рдореЗрдорд░реА рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдорд╛рдВрдЪреА рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рдгреНрдпрд╛рдмрджреНрджрд▓
- рд░рд┐рдВрдЧ рдЯреЛрдкреЛрд▓реЙрдЬреАрд╕рд╣ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рд░рд╛рдЬреНрдп рд╣рд╕реНрддрд╛рдВрддрд░рдгрд╛рд╡рд░
рдХрд╛рд░реНрдп 1. рдХреНрд▓рд╕реНрдЯрд░ рдХреНрд▓рд╛рдпрдВрдЯ
рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ N рднрд╛рд░рд┐рдд рдкреНрд░рддрд┐рдХреГрддреАрдВрдордзреВрди K рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдирд┐рд╡рдбреАрд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ:
рддреБрдордЪреНрдпрд╛ рдЯреАрдорд▓рд╛ N рдиреЛрдбреНрд╕рдЪреНрдпрд╛ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд┐рддрд░рд┐рдд рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдХреНрд▓рд╛рдпрдВрдЯ рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рдо рджреЗрдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ. рд▓рд╛рдпрдмреНрд░рд░реА рдиреЛрдбреНрд╕рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╡рд┐рдз рдореЗрдЯрд╛рдбреЗрдЯрд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдареЗрд╡реЗрд▓ (рдЙрджрд╛. рддреНрдпрд╛рдВрдЪреА рд▓реЗрдЯреЗрдВрд╕реА, 4xx/5xx рдкреНрд░рддрд┐рд╕рд╛рдж рджрд░ рдЗ.) рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рд╡рдЬрди W1..WN рдирд┐рдпреБрдХреНрдд рдХрд░реЗрд▓. рд╕рдорд╡рд░реНрддреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдзреЛрд░рдгрд╛рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд▓рд╛рдпрдмреНрд░рд░реА рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдкрдгреЗ N рдиреЛрдбреНрд╕рдЪреЗ K рдирд┐рд╡рдбрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рд╛рд╡реАтАФрдирд┐рд╡рдб рд╣реЛрдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдиреЛрдбрдЪреНрдпрд╛ рд╡рдЬрдирд╛рдЪреНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдЕрд╕рд╛рд╡реА.
рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдиреЛрдбреНрд╕ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реБрдЪрд╡рд╛. рдореЛрдареНрдпрд╛ O рдиреЛрдЯреЗрд╢рди рд╡рд╛рдкрд░реВрди рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрдЧрдгрдХреАрдп рдЬрдЯрд┐рд▓рддреЗрдЪрд╛ рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рд╛.
рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЗрдВрдЧреНрд░рдЬреАрдд рдХрд╛ рдЖрд╣реЗ?
рдХрд╛рд░рдг рдпрд╛ рдлреЙрд░реНрдордордзреНрдпреЗ рдХреЙрдиреНрдлрд░рдиреНрд╕рдордзреАрд▓ рд╕рд╣рднрд╛рдЧреА рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╢реА рд▓рдврд▓реЗ рдЖрдгрд┐ рдХрд╛рд░рдг рдЗрдВрдЧреНрд░рдЬреА рд╣реА рд╣рд╛рдпрдбреНрд░рд╛рдЪреА рдЕрдзрд┐рдХреГрдд рднрд╛рд╖рд╛ рд╣реЛрддреА. рдХрд╛рд░реНрдпреЗ рдЕрд╕реЗ рджрд┐рд╕рд▓реА:
рдХрд╛рдЧрдж рдЖрдгрд┐ рдкреЗрдиреНрд╕рд┐рд▓ рдШреНрдпрд╛, рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛, рд▓рдЧреЗрдЪ рд╕реНрдкреЙрдпрд▓рд░ рдЙрдШрдбрдгреНрдпрд╛рд╕рд╛рдареА рдШрд╛рдИ рдХрд░реВ рдирдХрд╛ ЁЯЩВ
рд╕рдорд╛рдзрд╛рдирд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рд╡реНрд╣рд┐рдбрд┐рдУ)
5:53 рд╡рд╛рдЬрддрд╛ рд╕реБрд░реВ рд╣реЛрдд рдЖрд╣реЗ, рдлрдХреНрдд 4 рдорд┐рдирд┐рдЯреЗ:
рдЖрдгрд┐ рдлреНрд▓рд┐рдкрдЪрд╛рд░реНрдЯ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдореБрд▓рд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд╕реЗ рдХреЗрд▓реЗ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ:
рд╕рдорд╛рдзрд╛рдирд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рдордЬрдХреВрд░)
рдЦрд╛рд▓реАрд▓ рд╕реЛрд▓реНрдпреВрд╢рди рдкреГрд╖реНрдарднрд╛рдЧрд╛рд╡рд░ рдЖрд╣реЗ: рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдХреГрддреАрдВрдЪреНрдпрд╛ рд╡рдЬрдирд╛рдВрдЪреА рдмреЗрд░реАрдЬ рдХрд░рд╛, 0 рддреЗ рд╕рд░реНрд╡ рд╡рдЬрдирд╛рдВрдЪреНрдпрд╛ рдмреЗрд░рдЬреЗрдкрд░реНрдпрдВрдд рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рд╛, рдирдВрддрд░ рдПрдХ i-рдкреНрд░рддрд┐рдХреГрддреА рдирд┐рд╡рдбрд╛ рдХреА 0 рддреЗ (i-1)рд╡реНрдпрд╛ рдкреНрд░рддрд┐рдХреГрддреА рд╡рдЬрдирд╛рдВрдЪреА рдмреЗрд░реАрдЬ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпреЗрдкреЗрдХреНрд╖рд╛ рдХрдореА рдЖрд╣реЗ, рдЖрдгрд┐ рдкреНрд░рддрд┐рдХреГрддреАрдЪреА рдмреЗрд░реАрдЬ 0 рддреЗ i-th - рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ. рддреНрдпрд╛рдореБрд│реЗ рдПрдХ рдкреНрд░рддрд┐рдХреГрддреА рдирд┐рд╡рдбрдгреЗ рд╢рдХреНрдп рд╣реЛрдИрд▓ рдЖрдгрд┐ рдкреБрдвреАрд▓ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдХреГрддреАрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рди рдХрд░рддрд╛ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреБрдиреНрд╣рд╛ рдХрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓. рдЕрд╢рд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд╕рд╣, рдПрдХ рдкреНрд░рддрд┐рдХреГрддреА рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреА рдЬрдЯрд┐рд▓рддрд╛ O(N), K рдкреНрд░рддрд┐рдХреГрддреА рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреА рдЬрдЯрд┐рд▓рддрд╛ O(N K) ~ O(N2) рдЖрд╣реЗ.
рдЪрддреБрд░реНрднреБрдЬ рдЬрдЯрд┐рд▓рддрд╛ рд╡рд╛рдИрдЯ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреА рд╕реБрдзрд╛рд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рддрдпрд╛рд░ рдХрд░реВ
рд░реЗрдЦреАрдп-рд▓реЙрдЧ рдЬрдЯрд┐рд▓рддрд╛ рдЪрддреБрд░реНрднреБрдЬ рдЬрдЯрд┐рд▓рддреЗрдкреЗрдХреНрд╖рд╛ рдЪрд╛рдВрдЧрд▓реА рдЖрд╣реЗ, рд╡рд┐рд╢реЗрд╖рддрдГ рдореЛрдареНрдпрд╛ K рд╕рд╛рдареА.
рд╣реЗ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрд╣реЗ
рдХрд╛рд░реНрдп 2. рдЭреЗрдмреНрд░рд╛
рдПрдХрд╛ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдиреЙрди-рдЗрдВрдбреЗрдХреНрд╕реНрдб рдлреАрд▓реНрдбрджреНрд╡рд╛рд░реЗ рдореЗрдорд░реАрдордзреНрдпреЗ рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдо рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ:
рддреБрдордЪреНрдпрд╛ рдЯреАрдорд▓рд╛ рд╢рд╛рд░реНрдб рдЗрди-рдореЗрдорд░реА рджрд╕реНрддрдРрд╡рдЬ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рдо рджреЗрдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ. M (рд╕рд╛рдорд╛рдиреНрдпрддрдГ N < 100 << M) рдЖрдХрд╛рд░рд╛рдЪреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣рд╛рддреВрди рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд (рдиреЙрди-рдЗрдВрдбреЗрдХреНрд╕ рдХреЗрд▓реЗрд▓реЗ) рдЕрдВрдХреАрдп рдлреАрд▓реНрдбрджреНрд╡рд╛рд░реЗ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд▓реЗрд▓реЗ рд╢реАрд░реНрд╖ N рджрд╕реНрддрдРрд╡рдЬ рдирд┐рд╡рдбрдгреЗ рд╣рд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрднрд╛рд░ рдЕрд╕реЗрд▓. рд╢реАрд░реНрд╖ S рджрд╕реНрддрдРрд╡рдЬ (S ~ N) рд╡рдЧрд│рд▓реНрдпрд╛рдирдВрддрд░ рд╢реАрд░реНрд╖ N рдирд┐рд╡рдбрдгреЗ рд╣рд╛ рдереЛрдбрд╛рд╕рд╛ рдХрдореА рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдХрд▓реЛрдб рдЕрд╕реЗрд▓.
рдЕрд╢рд╛ рдХреНрд╡реЗрд░реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рд╛. рд╕рд░рд╛рд╕рд░реА рдХреЗрд╕ рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рд╡рд╛рдИрдЯ рдкрд░рд┐рд╕реНрдерд┐рддреАрдордзреНрдпреЗ рдореЛрдареНрдпрд╛ O рдиреЛрдЯреЗрд╢рдирдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрдЧрдгрдХреАрдп рдЬрдЯрд┐рд▓рддреЗрдЪрд╛ рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рд╛.
рд╕рдорд╛рдзрд╛рдирд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рд╡реНрд╣рд┐рдбрд┐рдУ)
34:50 рд╡рд╛рдЬрддрд╛ рд╕реБрд░реВ рд╣реЛрдд рдЖрд╣реЗ, рдлрдХреНрдд 6 рдорд┐рдирд┐рдЯреЗ:
рд╕рдорд╛рдзрд╛рдирд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рдордЬрдХреВрд░)
рдкреГрд╖реНрдарднрд╛рдЧ рд╕рдорд╛рдзрд╛рди: рд╕рд░реНрд╡ рдХрд╛рдЧрджрдкрддреНрд░рд╛рдВрдЪреА рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рд╕рд╣
рд╣реЗ рдЙрдШрдб рдЖрд╣реЗ рдХреА рд╕рд░реНрд╡ рдПрдо рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдЪреА рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рдгреЗ рдЖрдгрд┐ рдирдВрддрд░ рддреНрдпрд╛рддреАрд▓ рдлрдХреНрдд рдПрдХ рдЫреЛрдЯрд╛рд╕рд╛ рднрд╛рдЧ рдШреЗрдгреЗ рдЕрдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗ. рд╕рд░реНрд╡ рдХрд╛рдЧрджрдкрддреНрд░рд╛рдВрдЪреА рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡реВ рдирдпреЗ рдореНрд╣рдгреВрди, рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдпреЛрдЧреНрдп рдЖрд╣реЗ
рддрдерд╛рдкрд┐, рдЖрдкрдг рддреЗ рдЖрдгрдЦреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдХрд░реВ рд╢рдХрддрд╛ - рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░рд╛
рддрдерд╛рдкрд┐, рд╣реАрдк рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдард░рддреЗ рдХрд╛рд░рдг рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдмрд╣реБрддреЗрдХ рджрд╕реНрддрдРрд╡рдЬ рддреНрдпрд╛рдЪреНрдпрд╛ рдореВрд│ рдШрдЯрдХрд╛рд╢реА рдПрдХрд▓ рддреБрд▓рдирд╛ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдвреАрдЧ рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рди рдХрд░рддрд╛ рдЯрд╛рдХреВрди рджрд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдЕрд╢реА рдХреНрд░рдорд╡рд╛рд░реА рдЭреЗрдмреНрд░рд╛ рдЗрди-рдореЗрдорд░реА рджрд╕реНрддрдРрд╡рдЬ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЬрд╛рддреЗ рдЬреА рдХреЛрдВрдЯреВрд░рдордзреНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдЖрдгрд┐ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ.
рдХрд╛рд░реНрдп 3. рд░рд╛рдЬреНрдп рд╕реНрд╡реЕрдк
рд░рд╛рдЬреНрдпреЗ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ:
рддреБрдордЪреНрдпрд╛ рдЯреАрдорд▓рд╛ N рдиреЛрдбреНрд╕рдЪреНрдпрд╛ рд╡рд┐рддрд░рд┐рдд рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдлреЕрдиреНрд╕реА рд╕реНрдЯреЗрдЯ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдореЗрдХреЕрдирд┐рдЭрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рдо рджреЗрдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ. i-th рдиреЛрдбрдЪреА рд╕реНрдерд┐рддреА (i+1)-рд╡реНрдпрд╛ рдиреЛрдбрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рд╡реА, N-th рдиреЛрдбрдЪреА рд╕реНрдерд┐рддреА рдкрд╣рд┐рд▓реНрдпрд╛ рдиреЛрдбрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рд╡реА. рдЬреЗрд╡реНрд╣рд╛ рджреЛрди рдиреЛрдбреНрд╕ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд░рд╛рдЬреНрдпрд╛рдВрдЪреА рдЕрдгреВрдЪреА рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг рдХрд░рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рдПрдХрдореЗрд╡ рд╕рдорд░реНрдерд┐рдд рдСрдкрд░реЗрд╢рди рдореНрд╣рдгрдЬреЗ рд╕реНрдЯреЗрдЯ рд╕реНрд╡реЕрдк. рд╣реЗ рдЬреНрдЮрд╛рдд рдЖрд╣реЗ рдХреА рд░рд╛рдЬреНрдп рд╕реНрд╡реЕрдкрд▓рд╛ M рдорд┐рд▓реАрд╕реЗрдХрдВрдж рд▓рд╛рдЧрддрд╛рдд. рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЛрдгрддреНрдпрд╛рд╣реА рдХреНрд╖рдгреА рд╕рд┐рдВрдЧрд▓ рд╕реНрдЯреЗрдЯ рд╕реНрд╡реЕрдкрдордзреНрдпреЗ рд╕рд╣рднрд╛рдЧреА рд╣реЛрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЖрд╣реЗ.
рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд╕рд░реНрд╡ рдиреЛрдбреНрд╕рдЪреА рд╕реНрдерд┐рддреА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рддреА рд╡реЗрд│ рд▓рд╛рдЧрддреЛ?
рд╕рдорд╛рдзрд╛рдирд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рдордЬрдХреВрд░)
рдкреГрд╖реНрдарднрд╛рдЧ рд╕реЛрд▓реНрдпреВрд╢рди: рдкрд╣рд┐рд▓реНрдпрд╛ рдЖрдгрд┐ рджреБрд╕рд░реНтАНрдпрд╛ рдШрдЯрдХрд╛рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдЪреА рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг рдХрд░рд╛, рдирдВрддрд░ рдкреНрд░рдердо рдЖрдгрд┐ рддрд┐рд╕рд░рд╛, рдирдВрддрд░ рдкрд╣рд┐рд▓рд╛ рдЖрдгрд┐ рдЪреМрдерд╛, рдЖрдгрд┐ рдЕрд╕реЗрдЪ. рдкреНрд░рддреНрдпреЗрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдирдВрддрд░, рдПрдХрд╛ рдШрдЯрдХрд╛рдЪреА рд╕реНрдерд┐рддреА рдЗрдЪреНрдЫрд┐рдд рд╕реНрдерд┐рддреАрдд рдЕрд╕реЗрд▓. рддреБрдореНрд╣рд╛рд▓рд╛ O(N) рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ O(N M) рд╡реЗрд│ рдШрд╛рд▓рд╡рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓.
рд░реЗрдЦреАрдп рд╡реЗрд│ рдореЛрдард╛ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рддреБрдореНрд╣реА рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдЕрд╡рд╕реНрдерд╛рдВрдЪреА рдЬреЛрдбреНрдпрд╛рдВрдордзреНрдпреЗ рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг рдХрд░реВ рд╢рдХрддрд╛: рдкреНрд░рдердо рджреБрд╕рд▒реНрдпрд╛рд╕рд╣, рддрд┐рд╕рд░рд╛ рдЪреМрдерд╛ рдЖрдгрд┐ рдЕрд╕реЗрдЪ. рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЬреНрдп рд╡рд┐рдирд┐рдордпрд╛рдирдВрддрд░, рдкреНрд░рддреНрдпреЗрдХ рджреБрд╕рд░рд╛ рдШрдЯрдХ рдпреЛрдЧреНрдп рд╕реНрдерд┐рддреАрдд рдЕрд╕реЗрд▓. рддреБрдореНрд╣рд╛рд▓рд╛ O(lg N) рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ O(M lg N) рд╡реЗрд│ рдШрд╛рд▓рд╡рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓.
рддрдерд╛рдкрд┐, рд╢рд┐рдлреНрдЯ рдЖрдгрдЦреА рдХрд╛рд░реНрдпрдХреНрд╖рдо рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ - рд░реЗрдЦреАрдп рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╕рддрдд рд╡реЗрд│реЗрдд. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкрд╣рд┐рд▓реНрдпрд╛ рдкрд╛рдпрд░реАрд╡рд░, рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдШрдЯрдХрд╛рдЪреА рд╕реНрдерд┐рддреА рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдШрдЯрдХрд╛рд╕рд╣, рджреБрд╕рд░реА рдЙрдкрд╛рдВрддреНрдп рдШрдЯрдХрд╛рд╕рд╣, рдЗ. рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдЪреА рд╕реНрдерд┐рддреА рдпреЛрдЧреНрдп рд╕реНрдерд┐рддреАрдд рдЕрд╕реЗрд▓. рдЖрдгрд┐ рдЖрддрд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдШрдЯрдХрд╛рдЪреА рд╕реНрдерд┐рддреА рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдШрдЯрдХрд╛рд╕рд╣, рддрд┐рд╕рд░реНрдпрд╛ рдШрдЯрдХрд╛рдЪреА рдЙрдкрд╛рдВрддреНрдп рдШрдЯрдХрд╛рд╕рд╣, рдЗ. рдПрдХреНрд╕рдЪреЗрдВрдЬрдЪреНрдпрд╛ рдпрд╛ рдлреЗрд░реАрдирдВрддрд░, рд╕рд░реНрд╡ рдШрдЯрдХрд╛рдВрдЪреА рд╕реНрдерд┐рддреА рдпреЛрдЧреНрдп рд╕реНрдерд┐рддреАрдд рдЕрд╕реЗрд▓. рдПрдХреВрдг O(2M) ~ O(1) рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдЕрд╕рддреАрд▓.
рдЕрд╕реЗ рд╕рдорд╛рдзрд╛рди рдЧрдгрд┐рддрдЬреНрдЮрд╛рдВрдирд╛ рдЕрдЬрд┐рдмрд╛рдд рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рдгрд╛рд░ рдирд╛рд╣реА рдЬреНрдпрд╛рд▓рд╛ рдЕрдЬреВрдирд╣реА рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдЖрд╣реЗ рдХреА рд░реЛрдЯреЗрд╢рди рд╣реА рджреЛрди рдЕрдХреНрд╖реАрдп рд╕рдордорд┐рддреАрдВрдЪреА рд░рдЪрдирд╛ рдЖрд╣реЗ. рддрд╕реЗ, рдПрдХрд╛ рд╢рд┐рдлреНрдЯрд╕рд╛рдареА рдирд╛рд╣реА рддрд░ K < N рдкреЛрдЭрд┐рд╢рдиреНрд╕рджреНрд╡рд╛рд░реЗ рдХреНрд╖реБрд▓реНрд▓рдХрдкрдгреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. (рдХрд╕реЗ рддреЗ рдХрдореЗрдВрдЯ рдордзреНрдпреЗ рд▓рд┐рд╣рд╛.)
рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЛрдбреЗ рдЖрд╡рдбрд▓реЗ рдХрд╛? рддреБрдореНрд╣рд╛рд▓рд╛ рдЗрддрд░ рдЙрдкрд╛рдп рдорд╛рд╣рд┐рдд рдЖрд╣реЗрдд рдХрд╛? рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рд╛.
рдЖрдгрд┐ рд╢реЗрд╡рдЯреА рдпреЗрдереЗ рдХрд╛рд╣реА рдЙрдкрдпреБрдХреНрдд рджреБрд╡реЗ рдЖрд╣реЗрдд:
- рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА
рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рд╕рдореЛрдЪреНрдЪ рдордзреНрдпреЗ - рдЕрдВрддрд░реНрдЧрдд рдиреЛрдВрджреА рдкрд╣рд╛
рдЕрд╣рд╡рд╛рд▓рд╛рдВрд╕рд╣ рдлреНрд▓рд╛рдпрд░ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдмрджреНрджрд▓ - рд╡реНрд╣рд┐рдбрд┐рдУ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдорд╛рд▓рд┐рдХрд╛ рдкрд╣рд╛
рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рдЕрд╕рд╛рдорд╛рдиреНрдп рдЕрд▓реНрдЧреЛрд░рд┐рджрдо ┬╗ - рдЖрдордЪреНрдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рдШреНрдпрд╛
рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордордзреАрд▓ рдЪреЕрдиреЗрд▓
рд╕реНрддреНрд░реЛрдд: www.habr.com