рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдЯреНрд░реА: рднрд╛рдЧ 1. рд╡рд┐рд╡рд░рдг, рд╕рдВрдЪрд╛рд▓рди, рдЕрдиреБрдкреНрд░рдпреЛрдЧ

рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ)



рднрд╛рдЧ 1. рд╡рд┐рд╡рд░рдг, рд╕рдВрдЪрд╛рд▓рди, рдЕрдиреБрдкреНрд░рдпреЛрдЧред

рднрд╛рдЧ 2. рдкреЗрдбрд╝ рдореЗрдВ рдореВрд▓реНрдпрд╡рд╛рди рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрдИ рдСрдкрд░реЗрд╢рдиред

рднрд╛рдЧ 3. рдирд┐рд╣рд┐рдд рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдкреЗрдбрд╝ред

рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП ...



рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдЯреНрд░реА (рдЯреНрд░реЗрдк) - рдПрдХ рд╕реБрдВрджрд░ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдЬреЛ рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рдХрдИ рдЙрдЪреНрдЪ рдЧрддрд┐ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдХреНрдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рд╣рдмреНрд░рд╣рд╛рдм рдкрд░ рдореБрдЭреЗ рд╕рдореНрдорд╛рдирд┐рдд рд╡рд┐рдВрдЧрд░ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЙрд╕рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрд▓реНрд▓реЗрдЦ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рддрдм рдЙрд╕ рдЪрдХреНрд░ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рд╣реБрдЖред рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ, рд╡реИрд╕реЗред



рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЬреЛ рдХреБрдЫ рднреА рдЬрд╛рдирддрд╛ рд╣реВрдВ рдЙрд╕реЗ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ - рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдореИрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рдЬрд╛рдирддрд╛ рд╣реВрдВ, рджреЛ рдпрд╛ рддреАрди рдкрджреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдордЧреНрд░реА рд╣реЛрдЧреАред рд╕рднреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕реА # рд╕реНрд░реЛрддреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдФрд░ рдЪреВрдВрдХрд┐ рдореИрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдкреНрд░реЗрдореА рд╣реВрдВ, рдЗрд╕рдХреЗ рдмрд╛рдж рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд╣рдо рдПрдл # рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ - рд▓реЗрдХрд┐рди рдпрд╣ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ :)ред рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред



рдкрд░рд┐рдЪрдп



рдПрдХ рдкрд░рд┐рдЪрдп рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЙрд╕реА рд╡рд┐рдВрдЧрд░ рдХреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдкреЗрдбрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреЛрд╕реНрдЯ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд┐ рдПрдХ рдкреЗрдбрд╝ рдХреНрдпрд╛ рд╣реИ, рдПрдХ рдЦреЛрдЬ рдкреЗрдбрд╝, рд╕рд╛рде рд╣реА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд┐рдирд╛ , рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░реА рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдЪреАрдиреА рдкрддреНрд░ рдмрдиреА рд░рд╣реЗрдЧреАред рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ, рд╣реИ рдирд╛?



рд╣рдорд╛рд░реЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЕрдЧрд▓рд╛ рдЖрдЗрдЯрдо рдвреЗрд░ рд╣реИ ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рджреВрдВрдЧрд╛ред

рд╢реАрд░реНрд╖ рдкрд░ рдмрд╛рдЗрдирд░реА рдЯреНрд░реА рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ (рдХреБрдВрдЬрд┐рдпрд╛рдБ) рд╣реИрдВред рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдХреЗ рд▓рд┐рдП, рд╣рдо рдмрд┐рдирд╛ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рдЗрд╕рдХреА рдХреБрдВрдЬреА рдЕрдкрдиреЗ рддрддреНрдХрд╛рд▓ рдмреЗрдЯреЛрдВ рдХреА рдХреБрдВрдЬреА рд╕реЗ рдХрдбрд╝рд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдорд╛рдиреНрдп рдвреЗрд░ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:





рдореИрдВ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдвреЗрд░ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдЕрдкрдиреЗ рд╡рдВрд╢рдЬреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИред рдХреЛрдИ рднреА рд╡рд┐рдкрд░реАрдд рд╡рд┐рдХрд▓реНрдк рд▓реЗрдиреЗ рд╕реЗ рдордирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╡рдВрд╢рдЬреЛрдВ рд╕реЗ рдЫреЛрдЯрд╛ рд╣реИ - рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдкреВрд░реЗ рдкреЗрдбрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЗрд╕ рд▓реЗрдЦ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП, "рдЕрдзрд┐рдХ" рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред



рдЕрдм рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдпрд╣ рд╕рд╡рд╛рд▓ рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдХрд┐ рдЖрдк рдвреЗрд░ рд╕реЗ рддрддреНрд╡реЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝ рдФрд░ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╣рдореЗрдВ рдЕрднреА рднреА рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред



рд╕рдорд╕реНрдпрд╛рдУрдВ



рдЬрдм рдкреЗрдбрд╝реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ (рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрд╢рдВрд╕рд┐рдд рд▓реЗрдЦ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдареАрдХ рд╣реИ?), рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рдордХреНрд╖ рд░рдЦрд╛ рдЧрдпрд╛ рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рд╕рдВрдЪрд╛рд▓рди рдХреА рдЧрддрд┐ рд╣реИ, рдЗрд╕рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдФрд░ рдЙрдирдХреЗ рдЖрдЧрдорди рдХреЗ рдХреНрд░рдо рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ред рддреЛ, рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рдЯреНрд░реА рдЗрд╕ рдмрд╛рдд рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкреЗрдбрд╝ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреБрдВрдЬреА рдХреА рдЦреЛрдЬ O (H) рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреА, рдЬрд╣рд╛рдВ H рдкреЗрдбрд╝ рдХреА рдКрдВрдЪрд╛рдИ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрдпрд╛ рдКрдВрдЪрд╛рдИ рд╣реЛ рд╕рдХрддреА рд╣реИ - рд╢реИрддрд╛рди рдЙрд╕реЗ рдЬрд╛рдирддрд╛ рд╣реИред рдкреНрд░рддрд┐рдХреВрд▓ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдкреЗрдбрд╝ рдХреА рдКрдВрдЪрд╛рдИ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрди (рдЗрд╕рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЦреЛрдЬ рдкреЗрдбрд╝ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ - рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЦреЛрдЬ рдЯреНрд░реА рдореЗрдВ рдЖрд░реЛрд╣реА рдХрддрд╛рд░ рдореЗрдВ 1 рд╕реЗ N рддрдХ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ - рдкреЗрдбрд╝ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рдорд┐рд▓рддрд╛ рд╣реИ:



рддрдерд╛рдХрдерд┐рдд рд╕рдВрддреБрд▓рд┐рдд рдЦреЛрдЬ рд╡рд╛рд▓реЗ рдкреЗрдбрд╝реЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдореЛрдЯреЗ рддреМрд░ рдкрд░, рд╡реЗ, рдЬрд┐рдирдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдкреЗрдбрд╝ рдореМрдЬреВрдж рд╣реИ, рдЙрд╕ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдкреЗрдбрд╝ рдХреА рдЕрдзрд┐рдХрддрдо рдЧрд╣рд░рд╛рдИ рдХреА рдЗрд╖реНрдЯрддрдорддрд╛ рдмрдирд╛рдП рд░рдЦреА рдЬрд╛рддреА рд╣реИред рдЗрд╖реНрдЯрддрдо рдЧрд╣рд░рд╛рдИ рдУ (рд▓реЙрдЧ 2 рдПрди) рдХреЗ рдЖрджреЗрд╢ рдХреА рд╣реИ - рдлрд┐рд░ рдЙрд╕реА рдХреНрд░рдо рдореЗрдВ рдкреЗрдбрд╝ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЦреЛрдЬ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рд╣реИред рдЗрд╕ рдЧрд╣рд░рд╛рдИ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдИ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╣реИрдВ, рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рд▓рд╛рд▓-рдХрд╛рд▓реЗ рд▓рдХрдбрд╝реА рдпрд╛ рдПрд╡реАрдПрд▓-рдЯреНрд░реА рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдирдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдПрдХ рдХрдард┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЬреЛ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рдвреЗрд░ рдХреЗ рдирд░реНрдХ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдЬрд┐рдирдореЗрдВ рдЖрдк рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рд╡реГрдХреНрд╖ рдЕрдкрдиреА рд╕рд╛рджрдЧреА рдФрд░ рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреВрд▓рддрд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдмрд╣реБрдд рдкреНрд░рддрд┐рд╖реНрдард┐рдд рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рд╕рдордп рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде ... рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╡рд░рдг рдФрд░ рд╕реВрдХреНрд╖реНрдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдореЗрдВред



рдкрд░рд┐рднрд╛рд╖рд╛



рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреЗрдбрд╝ рдХрд╛ рдбреЗрдЯрд╛ рд╣реИ - рдЪрд╛рдмрд┐рдпрд╛рдБ x (рдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреБрдВрдЬреА рдмрд╣реБрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдкреЗрдбрд╝ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ; рдЬрдм рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреБрдВрдЬреА рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рддреЛ рдореИрдВ рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдХрд╣реВрдВрдЧрд╛)ред рдЪрд▓реЛ рдПрдХ рдЬреЛрдбрд╝реА - y рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреЗ рд╣реИрдВ ред рдЕрдм рд╣рдо рдПрдХ рдРрд╕реЗ рдЬрд╛рджреБрдИ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдкрд░ рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рд╛рде рд╣реА рдпрд╣ рдЕрдкрдиреА рдХреБрдВрдЬреА рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдкреЗрдбрд╝ рд╣реИ ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреЗрдбрд╝ рдХреЛ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рднреА рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред



рд╡реИрд╕реЗ: treap рдирд╛рдо рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рд╛рд╣рд┐рддреНрдп рдореЗрдВ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╕рд╛рд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ: рдкреЗрдбрд╝ + рдвреЗрд░ред рд░реВрд╕реА-рднрд╛рд╖реА рдореЗрдВ, рдХрднреА-рдХрднреА рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдбреЗрд░реИрдорд╛рдЗрдб (рдкреЗрдбрд╝ + рдкрд┐рд░рд╛рдорд┐рдб) рдпрд╛ рдбреНрдпреВрдЪрд╛ (рдкреЗрдбрд╝ + рдвреЗрд░)ред



рдкреЗрдбрд╝ рдХреЛ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдХреНрдпреЛрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЬреИрд╕реЗ рд╣реА рд╣рдо рдЗрд╕реЗ рдЦреАрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рдпрд╣ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреБрдВрдЬреА-рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдЬреЛрдбрд╝реЗ рдХреЗ рдХреБрдЫ рд╕реЗрдЯ рд▓реЗрдВ рдФрд░ рдЧреНрд░рд┐рдб рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдВрджреБрдУрдВ (x, y) рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВред рдФрд░ рдлрд┐рд░ рд╣рдо рдкреЗрдбрд╝реЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╣реБрдП рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реА рдХреЛрдиреЗ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рд╡реГрдХреНрд╖ рдЕрдкрдиреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдорд╛рди рдкрд░ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рджреЛ рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░ - рдХреБрдВрдЬреА рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ - рдПрдХ рдЕрд░реНрде рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЖрдВрдХрдбрд╝рд╛ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдорд╛рдирдХ рдкреЗрдбрд╝ рд╕рдВрдХреЗрддрди рдореЗрдВ рдмрд╛рдИрдВ рдУрд░, рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рд╡рд┐рдорд╛рди рдкрд░ рджрд╛рдИрдВ рдУрд░ред





рдЕрдм рддрдХ, рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ, рдФрд░ рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдердиреЛрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрдИ рдХреБрдВрдЬрд┐рдпрд╛рдБ рджреА рдЬрд╛рдПрдБ: рд╕рд╣реА рдЦреЛрдЬ рд╡рд╛рд▓реЗ рдкреЗрдбрд╝реЛрдВ рд╕реЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреЗрдбрд╝, рд╕реВрдЪреА-рдЬреИрд╕реЗ рд╡рд╛рд▓реЗ рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрди рдЪрд╛рдмрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдкреЗрдбрд╝ рдХреЗрд╡рд▓ рдПрдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рдЪрд╛рдмреА рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рдЖрджреЗрд╢ рдХреЗ рдмрд┐рдирд╛ред рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред

рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЕрдм рдЕрдкрдиреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрдирд╛рдПрдВред рдпрд╣реА рд╣реИ, рд╣рдо рдмрд╕ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд░реЗрдВрдЬ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдлрд┐рд░ 100% рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реГрддреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╡рд╛рд▓реЗ рдкрд░рд┐рдгрд╛рдореА рдХрд╛рд░реНрдЯрд┐рд╕рд┐рдпрди рд╡реГрдХреНрд╖ рдХреА рдКрдВрдЪрд╛рдИ 4 рд▓реЙрдЧ 2 рдПрди рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧреА (рдореИрдВ рдЗрд╕ рддрдереНрдп рдХреЛ рдкреНрд░рдорд╛рдг рдХреЗ рдмрд┐рдирд╛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред) рдЗрд╕рд▓рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрддреБрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреБрдВрдЬреА рдЦреЛрдЬ рд╕рдордпред рдРрд╕рд╛ рдкреЗрдбрд╝ рдЕрднреА рднреА рдСрд░реНрдбрд░ O (рд▓реЙрдЧ 2 рдПрди) рдХрд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдо рдорд╛рдВрдЧ рд░рд╣реЗ рд╣реИрдВред



рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдкреЗрдбрд╝ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдорд╛рдирдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЬрдиреНрдорджрд┐рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП), рддреЛ рдЖрдк рдЗрд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реАрдзреЗ рдпрд╛ рддреЛ рдЬрд╛рдирдХрд╛рд░реА рдпрд╛ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдВ (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреНрд░рддрд┐рд╡рд░реНрддреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдкрдиреЗ рдЬреЛрдЦрд┐рдо рдФрд░ рдЬреЛрдЦрд┐рдо рдкрд░ рдпрд╣рд╛рдВ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдЕрдЧрд░ рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдкреЗрдбрд╝ рдмрд╣реБрдд рдЕрд╕рдВрддреБрд▓рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреВрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рдлреА рдзреАрдорд╛ рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рддрддреНрдХрд╛рд▓ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреЗрдбрд╝реЛрдВ рдореЗрдВ рд╕рднреА рдЪрд╛рдмрд┐рдпрд╛рдБ рдФрд░ рд╕рднреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЪрд╛рдмрд┐рдпреЛрдВ рдХреА рд╕рдорд╛рдирддрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдПрдХреНрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рддрддреНрд╡ рдХрд╣рд╛рдВ рд╕реНрдерд┐рдд рд╣реЛрдВрдЧреЗ - рдпрд╛ рддреЛ рдЗрд╕рдХреЗ рдмрд╛рдПрдВ рд╕рдмрдЯреНрд░реА рдореЗрдВ, рдпрд╛ рдХреЗрд╡рд▓ рджрд╛рдПрдВ рдореЗрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреА рд╕рдорд╛рдирддрд╛ рднреА рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЧрдарди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдХреЗрд╡рд▓ рд╕рдмреВрддреЛрдВ рдХреЗ рд╕рдВрджреВрд╖рдг рдФрд░ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рддрд░реНрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред рдкреВрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреАрдврд╝реА рд▓рдЧрднрдЧ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, 0 рдФрд░ 1 рдХреЗ рдмреАрдЪ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИред



рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрдХреЛ C # рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рджреВрдВрдЧрд╛, рдЬреЛ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рд╡реГрдХреНрд╖ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ред

public class Treap { public int x; public int y; public Treap Left; public Treap Right; private Treap(int x, int y, Treap left = null, Treap right = null) { this.x = x; this.y = y; this.Left = left; this.Right = right; } //   ... }
      
      





рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ x рдФрд░ y рдкреНрд░рдХрд╛рд░ рдХрд╛ int



, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╕реНрдерд╛рди рдкрд░ рдХреЛрдИ рднреА рдкреНрд░рдХрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣рдо рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЕрд░реНрдерд╛рдд, рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ C рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ IComparable



рдпрд╛ IComparable<T>



рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд╕реНрдХреЗрд▓ рдореЗрдВ, рдпрд╣ Ord



рд╡рд░реНрдЧ рд╕реЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдПрдл # рдореЗрдВ рдХрд┐рд╕реА рднреА рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде, рдЬрд╛рд╡рд╛ рдореЗрдВ рдпрд╣ Comparable<T1>



рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред



рдЧреЛрдВрдж рдФрд░ рдХреИрдВрдЪреА рдХрд╛ рдЬрд╛рджреВ



рдПрдЬреЗрдВрдбреЗ рдкрд░ рджрдмрд╛рд╡ рдбрд╛рд▓рдиреЗ рд╡рд╛рд▓реЗ рдореБрджреНрджреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВ рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░ рджреВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдПрдХ рдХрдЪреНрдЪреЗ рд╕реЗрдЯ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЕрдм рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╢реБрд░реБрдЖрддреА рдкреЗрдбрд╝ рдХреА рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЖрддреНрдорд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╣реА рдмрди рдЪреБрдХреА рд╣реИ, рдФрд░ рдЕрдм рд╣рдореЗрдВ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдХрд╛рд░реНрддреАрдп рд╡реГрдХреНрд╖ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЗрдиреНрд╕ рдФрд░ рдмрд╣рд┐рд╖реНрдХрд╛рд░ рдореЗрдВ рджреЛ рдореБрдЦреНрдп рдСрдкрд░реЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВ: рдорд░реНрдЬ рдФрд░ рд╕реНрдкреНрд▓рд┐рдЯ ред рдЙрдирдХреА рдорджрдж рд╕реЗ, рдЕрдиреНрдп рд╕рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХ рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдЗрдП рдореВрд▓ рдмрд╛рддреЗрдВ рд╢реБрд░реВ рдХрд░реЗрдВред



рдорд░реНрдЬ рдСрдкрд░реЗрд╢рди рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджреЛ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдкреЗрдбрд╝реЛрдВ рдПрд▓ рдФрд░ рдЖрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдПрдХ рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рдП, рд╡рд╣ рднреА рд╕рд╣реА, рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдЯреНрд░реА рдЯреАред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдорд░реНрдЬ рдСрдкрд░реЗрд╢рди рдкреЗрдбрд╝реЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рдЬреЛрдбрд╝реЗ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдПрдХ рдкреЗрдбрд╝ (рдПрд▓) рдХреА рд╕рднреА рдЪрд╛рдмрд┐рдпрд╛рдБ рджреВрд╕рд░реЗ (рдЖрд░) рдХреА рдЪрд╛рдмрд┐рдпрд╛рдБ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИрдВред (рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдВ - рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд╛рдо рдЖрдПрдЧрд╛!)





рдорд░реНрдЬ рдХрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреЗрдбрд╝ рдХреА рдЬрдбрд╝ рдХреМрди рд╕рд╛ рддрддреНрд╡ рд╣реЛрдЧрд╛? рдЬрд╛рд╣рд┐рд░ рд╣реИ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рдеред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХрддрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП рджреЛ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИрдВ - рдХреЗрд╡рд▓ рджреЛ рд╕реНрд░реЛрдд рдкреЗрдбрд╝реЛрдВ рдХреА рдЬрдбрд╝реЗрдВред рдЙрдирдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ; рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдмрд╛рдПрдВ рд░реВрдЯ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ y рдХреЛ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рджреЗрдВ, рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдВрдЬреА x рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдПрдХ рдирдИ рдЬрдбрд╝ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдм рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рддрддреНрд╡ рдЗрд╕рдХреЗ рд╕рд╣реА рдЙрдк-рднрд╛рдЧ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ рдФрд░ рдХреМрди рд╕реЗ рдмрд╛рдПрдБ рдореЗрдВред



рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдкреВрд░реЗ рдкреЗрдбрд╝ рдЖрд░ рдирдИ рдЬрдбрд╝ рдХреЗ рд╕рд╣реА рдЙрдкрдкреНрд░рдХрд╛рд░ рдореЗрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕реНрдерд┐рддрд┐ рд╕реЗ x рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХреБрдВрдЬреА рд╣реИред рдЙрд╕реА рддрд░рд╣, рдкреБрд░рд╛рдиреА L.eft рд░реВрдЯ рдХреА рдмрд╛рдИрдВ рд╕рдмрдЯреНрд░реА рдореЗрдВ x рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рднреА рдХреАрдЬрд╝ рдЫреЛрдЯреА рд╣реЛрддреА рд╣реИрдВ рдФрд░ рд▓реЗрдлреНрдЯ рд╕рдмрдЯреНрд░реА рд░рд╣рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рд░рд╛рдЗрдЯ рд╕рдмрдЯреНрд░реА L.Right ... рд▓реЗрдХрд┐рди рд░рд╛рдЗрдЯ рд╕рдмрдЯреНрд░реА рдПрдХ рд╣реА рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рджрд╛рдИрдВ рдУрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдХреЛ рдХрд╣рд╛рдБ рд░рдЦрд╛ рдЬрд╛рдП, рдФрд░ рдкреЗрдбрд╝ R рдХреЗ рддрддреНрд╡ рдХрд╣рд╛рдВ рд╣реИрдВ?



рдмрдВрдж рдХрд░реЛ, рдпрд╣ рдЕрд╕реНрдкрд╖реНрдЯ рдХреНрдпреЛрдВ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдкреЗрдбрд╝ рд╣реИрдВ, рдПрдХ рдореЗрдВ рдЪрд╛рдмрд┐рдпрд╛рдВ рджреВрд╕рд░реЗ рдореЗрдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рд╕реЗ рдХрдо рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдЙрдиреНрд╣реЗрдВ рдЧрдардмрдВрдзрди рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рд╣реА рдЙрдкрдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирдИ рдЬрдбрд╝ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмрд╕ рдкреБрди: L.Right рдФрд░ R рдЯреНрд░реА рдХреЗ рд▓рд┐рдП рдорд░реНрдЬ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рдФрд░ рдирдП рд░рд╛рдЗрдЯ рд╕рдмрдЯреНрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯреЗ рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдо рд╕реНрдкрд╖реНрдЯ рд╣реИред



рдиреАрд▓реЗ рд░рдВрдЧ рдореЗрдВ рдЖрдХреГрддрд┐ рдорд░реНрдЬ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рдкрд░рд┐рдгрд╛рдореА рдкреЗрдбрд╝ рдХреЗ рд╕рд╣реА рдЙрдкрдкреНрд░рдХрд╛рд░ рдФрд░ рдирдИ рдЬрдбрд╝ рд╕реЗ рдЗрд╕ рдЙрдкрдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред



рд╕рдордорд┐рдд рдорд╛рдорд▓рд╛ - рдЬрдм рдкреЗрдбрд╝ рдХреА рдЬрдбрд╝ рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЖрд░ рдЕрдзрд┐рдХ рд╣реИ - рд╕рдорд╛рди рд░реВрдк рд╕реЗ disassembled рд╣реИред рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╣рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдкреЗрдбрд╝ рдПрд▓ рдФрд░ рдЖрд░ рдореЗрдВ рд╕реЗ рдПрдХ, рдпрд╛ рджреЛрдиреЛрдВ, рдЦрд╛рд▓реА рд╣реИрдВред



рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрд░реЛрдд рдкреИрдХреЗрдЬ рдорд░реНрдЬ:
 public static Treap Merge(Treap L, Treap R) { if (L == null) return R; if (R == null) return L; if (Ly > Ry) { var newR = Merge(L.Right, R); return new Treap(Lx, Ly, L.Left, newR); } else { var newL = Merge(L, R.Left); return new Treap(Rx, Ry, newL, R.Right); } }
      
      







рдЕрдм рд╕реНрдкреНрд▓рд┐рдЯ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдЗрдирдкреБрдЯ рдкрд░, рд╡рд╣ рд╕рд╣реА рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдЯреНрд░реА рдЯреА рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреБрдВрдЬреА x 0 рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ ред рдСрдкрд░реЗрд╢рди рдХрд╛ рдХрд╛рд░реНрдп рдкреЗрдбрд╝ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ (рдПрд▓) рдореЗрдВ x 0 рд╕реЗ рдХрдо рдХреАрдЬрд╝ рд╡рд╛рд▓реЗ рд╕реНрд░реЛрдд рдкреЗрдбрд╝ рдХреЗ рд╕рднреА рддрддреНрд╡ рд╣реЛрдВ, рдФрд░ рдмрдбрд╝реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЗ (рдЖрд░) рдореЗрдВред рдкреЗрдбрд╝ рдкрд░ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИрдВред





рд╣рдо рдЗрд╕реА рддрд░рд╣ рд╕реЗ рддрд░реНрдХ рджреЗрддреЗ рд╣реИрдВред рдкреЗрдбрд╝ рдХреА рдЬрдбрд╝ T рдХрд╣рд╛рдБ рд╣реЛрдЧреА? рдпрджрд┐ рдЗрд╕рдХреА рдХреБрдВрдЬреА x 0 рд╕реЗ рдХрдо рд╣реИ, рддреЛ L рдореЗрдВ, рдЕрдиреНрдпрдерд╛ R рдореЗрдВред рдлрд┐рд░, рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдореВрд▓ рдХреБрдВрдЬреА x 0 рд╕реЗ рдХрдо рд╣реИред



рддрдм рд╣рдо рддреБрд░рдВрдд рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмрд╛рдПрдВ рд╕рдмрдЯреНрд░реА рдЯреА рдХреЗ рд╕рднреА рддрддреНрд╡ рдПрд▓ рдореЗрдВ рднреА рд╣реЛрдВрдЧреЗ - рдЙрдирдХреА рдЪрд╛рдмрд┐рдпрд╛рдБ рднреА x 0 рд╕реЗ рдХрдо рд╣реЛрдВрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреА рдХреА рдЬрдбрд╝ рднреА рдПрд▓ рдХреА рдЬрдбрд╝ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкреВрд░реЗ рдкреЗрдбрд╝ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╣реИред рд░реВрдЯ рдХреА рдмрд╛рдИрдВ рд╕рдмрдЯреНрд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рдЦреА рдЬрд╛рдПрдЧреА, рд▓реЗрдХрд┐рди рд░рд╛рдЗрдЯ рд╕рдмрдЯреНрд░реА рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреА - рдЖрдкрдХреЛ рдПрдХреНрд╕ 0 рд╕реЗ рдЕрдзрд┐рдХ рдХреАрдЬрд╝ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдкреЗрдбрд╝ рдЖрд░ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдмрд╛рдХреА рдХреАрдЬрд╝ рдХреЛ рдмрдЪрд╛рдПрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдирдИ рд╕рдмрдЯреНрд░реА рдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд╣рдо рд╕рдорд╛рди рдХрд╛рд░реНрдп рджреЗрдЦрддреЗ рд╣реИрдВ, рдкреБрди: рдкреБрди: рдЬреБрдбрд╝рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ!



рд╕рд╣реА рд╕рдмрдЯреНрд░реА рд▓реЗрдВ рдФрд░ рдЙрд╕реА рдХреБрдВрдЬреА x 0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рджреЛ рдкреЗрдбрд╝реЛрдВ L 'рдФрд░ R' рдореЗрдВ рдХрд╛рдЯ рд▓реЗрдВред рддрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ L 'L рд╡реГрдХреНрд╖ рдХрд╛ рдирдпрд╛ рд╕рд╣реА рдЙрдк-рдкреНрд░рдХрд╛рд░ рдмрди рдЬрд╛рдПрдЧрд╛, рдФрд░ R' рд╡реГрдХреНрд╖ R рд╕реНрд╡рдпрдВ рд╣реИ - рдЗрд╕рдореЗрдВ рд╡реЗ рдФрд░ рдХреЗрд╡рд▓ рд╡реЗ рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ x 0 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВред



рд╕рдордорд┐рдд рдорд╛рдорд▓рд╛ рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ рдХреБрдВрдЬреА x 0 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рди рд╣реИред рдпрд╣рд╛рдБ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдЖрдзрд╛рд░ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреБрдЫ рдЙрдкрдкреНрд░рдХрд╛рд░ рдЦрд╛рд▓реА рд╣реЛрддреЗ рд╣реИрдВред рдЦреИрд░, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб:

 public void Split(int x, out Treap L, out Treap R) { Treap newTree = null; if (this.x <= x) { if (Right == null) R = null; else Right.Split(x, out newTree, out R); L = new Treap(this.x, y, Left, newTree); } else { if (Left == null) L = null; else Left.Split(x, out L, out newTree); R = new Treap(this.x, y, newTree, Right); } }
      
      





рд╡реИрд╕реЗ, рдзреНрдпрд╛рди рджреЗрдВ: рд╕реНрдкреНрд▓рд┐рдЯ рдСрдкрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдкреЗрдбрд╝ рдорд░реНрдЬ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ: рдмрд╛рдПрдВ рдкреЗрдбрд╝ рдХреА рд╕рднреА рдЪрд╛рдмрд┐рдпрд╛рдБ рд╕рд╣реА рдореЗрдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рдпрд╣ рдореВрд▓реНрдпрд╡рд╛рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдХреБрдЫ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рдмрд╛рдж рдХрд╛рдо рдЖрдПрдЧреАред



рдЕрдВрддрд┐рдо рдкреНрд░рд╢реНрди рдорд░реНрдЬ рдФрд░ рд╕реНрдкреНрд▓рд┐рдЯ рдХрд╛ рдЕрдкрдЯрд╛рдЗрдо рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдорд░реНрдЬ рджреЛ рд╡рд┐рд▓рдп рдХрд┐рдП рдЧрдП рдкреЗрдбрд╝реЛрдВ рдХреА рдХреБрд▓ рдКрдВрдЪрд╛рдИ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реЗ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдХреБрд▓ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рдордп 2 рдПрдЪ рд╕реЗ рдЕрдзрд┐рдХ рди рд╣реЛ, рдЕрд░реНрдерд╛рдд рдУ (рдПрдЪ)ред рдФрд░ рд╕реНрдкреНрд▓рд┐рдЯ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рд╣рдо рдПрдХ рд╣реА рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рдКрдВрдЪрд╛рдИ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрдо рд╕реЗ рдХрдо рдПрдХ рдХреЗ рд╕рд╛рде рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдСрдкрд░реЗрд╢рди рдХрд╛ рд╡рд┐рд╖рдо рд╡реНрдпрд╡рд╣рд╛рд░ рднреА рдУ (рдПрдЪ) рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рд╡реГрдХреНрд╖, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╛рдВрдЫрд┐рдд рдУ (рд▓реЙрдЧ 2 рдПрди) рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдШреБрдЧрдгрдХреАрдп рдКрдВрдЪрд╛рдИ, рдорд░реНрдЬ рдФрд░ рд╕реНрдкреНрд▓рд┐рдЯ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рдЙрдирдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЬрдмрд░рджрд╕реНрдд рдЧреБрдВрдЬрд╛рдЗрд╢ рдорд┐рд▓рддреА рд╣реИред



рд╡реГрдХреНрд╖реЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди



рдЕрдм рдЬрдм рдЖрдкрдХреЛ рдФрд░ рдореБрдЭреЗ рдЧреЛрдВрдж рдФрд░ рдХреИрдВрдЪреА рдХрд╛ рд╕рд╣реА рдЬреНрдЮрд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдкреЗрдбрд╝ рдореЗрдВ рдПрдХ рддрддреНрд╡ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдЗрд╕реЗ рд╣рдЯрд╛рдирд╛ред рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд░реНрдЬ рдФрд░ рд╕реНрдкреНрд▓рд┐рдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдВрд╕реНрдХрд░рдг рджреВрдВрдЧрд╛ред рдпрд╣ рд╕рднреА рд╕рдорд╛рди рд▓рдШреБрдЧрдгрдХ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рднрд┐рдиреНрди рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдПрд╕реАрдПрдо-рдУрд▓рдВрдкрд┐рдпрди рдХрд╣рддреЗ рд╣реИрдВ, рдПрдХ рдмрдбрд╝реЗ рдирд┐рд░рдВрддрд░ рджреНрд╡рд╛рд░рд╛: рдЕрд░реНрдерд╛рдд, рд╕рдордп рдХрд╛ рдХреНрд░рдо рдкреЗрдбрд╝ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдлрд┐рд░ рднреА рдУ (рд▓реЙрдЧ 2 рдПрди) рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рдЯреАрдХ рд╕рдордп рдХрдИ рдмрд╛рд░ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ - рдПрдХ рдирд┐рд░рдВрддрд░ рд╕рдордпред рдорд╛рди рд▓реЗрдВ рдХрд┐ 4 рд▓реЙрдЧ 2 рдПрди рдмрдирд╛рдо рдмрд╕ 2 рдПрди рд▓реЙрдЧред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдЕрдВрддрд░ рд▓рдЧрднрдЧ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдкреЗрдбрд╝ рдХрд╛ рдЖрдХрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧреИрд▓реЗрдХреНрдЯрд┐рдХ рдЖрдХрд╛рд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд┐рд▓реЛрдкрди рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рдЗрд╖реНрдЯрддрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗ рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЪрд╛рд▓рди рднреА рд╣реИрдВ, рдЬрд┐рдирдХреА рд╕реНрдерд┐рд░рд╛рдВрдХ рдмрд╣реБрдд рдЫреЛрдЯреА рд╣реИред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЪрдХреНрд░ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЗрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░реВрдВрдЧрд╛, рдФрд░ рддреЗрдЬ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЬреБрдбрд╝реЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдиреБрдХрд╕рд╛рди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкреЗрдбрд╝ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ ... рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдкрд╛рдардХ рдХреЛ рдЕрдм рдЗрд╕рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде рдХрдИ рдСрдкрд░реЗрд╢рди (рдПрдХ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛!) рд╕рдордп рдЖ рдЬрд╛рдПрдЧрд╛ред



рддреЛ, рд╣рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рд╡реГрдХреНрд╖ рдФрд░ рдХреБрдЫ рддрддреНрд╡ x рджрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕реЗ рдЖрдк рдЗрд╕рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдЦ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рддрддреНрд╡ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ рдФрд░ X рдЕрднреА рддрдХ рдкреЗрдбрд╝ рдореЗрдВ рдирд╣реАрдВ рд╣реИ)ред рдореИрдВ рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рдЯреНрд░реА рд╕реЗ рдПрдкреНрд░реЛрдЪ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдиреАрдЪреЗ рдЬрд╛рдПрдВ, рд╣рд░ рдмрд╛рд░ рдмрд╛рдПрдВ рдпрд╛ рджрд╛рдПрдВ рд░рд╛рд╕реНрддреЗ рдХреЛ рдЪреБрдирддреЗ рд╣реБрдП, рдЬрдм рддрдХ рд╣рдореЗрдВ рдПрдХ рдЬрдЧрд╣ рдирд╣реАрдВ рдорд┐рд▓ рдЬрд╛рддреА рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЕрдкрдирд╛ рдПрдХреНрд╕ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд░реНрдгрдп рдЧрд▓рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдПред рд╡рд╣ рд╕реНрдерд╛рди рдЬрд╣рд╛рдБ рдЦреЛрдЬ рдЯреНрд░реА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдПрдХ рдирдпрд╛ рд╢реАрд░реНрд╖ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ x рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдЯреНрд░реА рдХреЗ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ y рджреНрд╡рд╛рд░рд╛ рдвреЗрд░ рдкреНрд░рддрд┐рдмрдВрдз рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рддреЛ, рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдФрд░ рдЕрдзрд┐рдХ рдЕрдореВрд░реНрдд рдЕрднрд┐рдирдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рджреВрд╕рд░рд╛ рд╕рдорд╛рдзрд╛рди рдирдИ рдХреБрдВрдЬреА рдХреЛ рдПрдХ рдПрдХрд▓ рд╢реАрд░реНрд╖ (рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ y рдХреЗ рд╕рд╛рде) рд╕реЗ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдорд░реНрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореВрд▓ рдХреЗ рд╕рд╛рде рд╡рд┐рд▓рдп рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдлрд┐рд░ рд╕реЗ рдЧрд▓рдд рд╣реИ: рд╕реНрд░реЛрдд рдХреЗ рдкреЗрдбрд╝ рдореЗрдВ x рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдиреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕рдХреЗ рдЗрдирдкреБрдЯ рдкреЗрдбрд╝реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд░реНрдЬ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд┐рдП рдЧрдП рд╡рд╛рджреЗ рдХреЛ рддреЛрдбрд╝рддреЗ рд╣реИрдВред



рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдкреНрд▓рд┐рдЯ / рдорд░реНрдЬ рд╕рдВрдЪрд╛рд▓рди рдХреА рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдП, рд╕рдорд╛рдзрд╛рди рдЦреБрдж рдХреЛ рд▓рдЧрднрдЧ рддреБрд░рдВрдд рд╕реБрдЭрд╛рддрд╛ рд╣реИ:

  1. рд╣рдо рдкреЗрдбрд╝ рдХреЛ рдХреБрдВрдЬреА X рджреНрд╡рд╛рд░рд╛ рдкреЗрдбрд╝ L рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, X рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЫреЛрдЯреА рдХреЗ рд╕рд╛рде, рдФрд░ рдкреЗрдбрд╝ R, рдмрдбрд╝реЗ рд╡рд╛рд▓реЗ рдХреЗ рд╕рд╛рдеред
  2. рдЗрд╕ рдХреБрдВрдЬреА рдХреЛ рдПрдХ рдПрдХрд▓ рд╢реАрд░реНрд╖ (x, y) рд╕реЗ рдПрдХ рдкреЗрдбрд╝ M рдмрдирд╛рдПрдБ, рдЬрд╣рд╛рдБ y рдирд╡ рд╕реГрдЬрд┐рдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред
  3. рдХрдВрдШреА (рдорд░реНрдЬ) рдХреЛ рдмрд╛рд░реА L рдореЗрдВ M рдХреЗ рд╕рд╛рде рдХрд░реЗрдВ, рдХреНрдпрд╛ рд╣реБрдЖ - R рдХреЗ рд╕рд╛рдеред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ 1 рд╕реНрдкреНрд▓рд┐рдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ, рдФрд░ 2 рдорд░реНрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрдВ - рдУ рдХрд╛ рдХреБрд▓ рдкрд░рд┐рдЪрд╛рд▓рди рд╕рдордп (рд▓реЙрдЧ 2 рдПрди)ред рд╢реЙрд░реНрдЯ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╕рдВрд▓рдЧреНрди

 public Treap Add(int x) { Treap l, r; Split(x, out l, out r); Treap m = new Treap(x, rand.Next()); return Merge(Merge(l, m), r); }
      
      







рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рд╛рде, рдХреЛрдИ рд╕рд╡рд╛рд▓ рднреА рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдХрд╛рд░реНрдЯреЗрд╕рд┐рдпрди рдкреЗрдбрд╝ рд╕реЗ рдХреБрдВрдЬреА рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рддрддреНрд╡ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПред рдЕрдм рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдХреБрдВрдЬреА рдХреА рд╕рдорд╛рдирддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИ, рдмрд╛рдИрдВ рдУрд░ рд╡рд░реАрдпрддрд╛ рджреЗ рд░рд╣рд╛ рд╣реИ: рдХреБрдВрдЬреА x рдХреЗ рд╕рд╛рде рд╢реАрд░реНрд╖ рдХреЗ рджрд╛рдИрдВ рдУрд░ рдЙрдкрдкреНрд░рдХрд╛рд░ рдореЗрдВ, рдЙрд╕реА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рддрддреНрд╡ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдИрдВ рдУрд░ рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддрдм рд╣рдо рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рдо рдХрд░рддреЗ рд╣реИрдВ:

  1. рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреЗрдбрд╝ рдХреЛ рдХреБрдВрдЬреА x-1 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВред X-1 рд╕реЗ рдХрдо рдпрд╛ рдмрд░рд╛рдмрд░ рд╕рднреА рддрддреНрд╡ рдмрд╛рдПрдВ рдкрд░рд┐рдгрд╛рдо рдкрд░ рдЧрдП, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рддрддреНрд╡ рджрд╛рдИрдВ рдУрд░ рд╣реИред
  2. рд╣рдо рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рдХреЛ рдХреБрдВрдЬреА x рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдпрд╣рд╛рдВ рдпрд╣ рд╕рдорд╛рдирддрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ!)ред X рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рд╡рд╛рд▓реЗ рд╕рднреА рддрддреНрд╡ рдирдП рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рдкрд░ рдЧрдП, рдФрд░ "рдордзреНрдп" (рджрд╛рдПрдВ рд╕реЗ рдмрд╛рдПрдВ) - рд╕рднреА x рд╕реЗ рдХрдо рдпрд╛ рдмрд░рд╛рдмрд░ред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╣рд░ рдХреЛрдИ рдкрд╣рд▓рд╛ рдХрджрдо рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕рдЦреНрддреА рд╕реЗ рдЫреЛрдЯрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдмреАрдЪ рдХрд╛ рдкреЗрдбрд╝ рд╡рд╛рдВрдЫрд┐рдд рддрддреНрд╡ рд╣реИред
  3. рдЕрдм рдмрд╕ рдмрд╛рдПрдВ рдкреЗрдбрд╝ рдХреЛ рджрд╛рд╣рд┐рдиреЗ рдПрдХ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдорд┐рд▓рд╛рдПрдВ, рдмрд┐рдирд╛ рдордзреНрдп рд╡рд╛рд▓реЗ рдХреЗ, рдФрд░ рд╡реНрдпреБрддреНрдкрдиреНрди рдПрдХреНрд╕ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд▓рдЧрд╛рддрд╛рд░ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рд╕рднреА рд╕рдорд╛рдиреЛрдВ рдХреЛ рдХреБрдВрдЬреА рдХреА рд╕рдорд╛рдирддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХрд╣реЛ, рдпрджрд┐ рдЖрдкрдХреЗ рддреБрд▓рдирд┐рддреНрд░ рдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╕рдорд╛рди рдХреБрдВрдЬреА рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЛ рд╕рд╣реА рдЙрдкрдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рдЖрдкрдХреЛ рдХреБрдВрдЬреА x рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ - x + 1 рджреНрд╡рд╛рд░рд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рдирд╣реАрдВ рдереАрдВ, рддреЛ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рд╡рд┐рд▓реЛрдкрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд╛рдВрдЫрд┐рдд рдкреВрд░реА рдирд╣реАрдВ рд╣реБрдИ рд╣реЛрдЧреА - рджреВрд╕рд░реЗ рдЪрд░рдг рдХреЗ рдмрд╛рдж, рдмреАрдЪ рдХрд╛ рдкреЗрдбрд╝ рдЦрд╛рд▓реА рд░рд╣реЗрдЧрд╛, рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рддрддреНрд╡ рдХрд╣реАрдВ рдпрд╛ рддреЛ рдлрд┐рд╕рд▓ рдЬрд╛рдПрдЧрд╛, рдпрд╛ рддреЛ рдмрд╛рдПрдВ рдпрд╛ рджрд╛рдПрдВ, рдФрд░ рдЕрдм рдЙрд╕рдХреЗ рд▓рд┐рдП рджреЗрдЦреЛред



рдСрдкрд░реЗрд╢рди рдХрд╛ рд╕рдордп рдЕрднреА рднреА O (рд▓реЙрдЧ 2 рдПрди) рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ 2 рдмрд╛рд░ рд╕реНрдкреНрд▓рд┐рдЯ рдФрд░ 1 рдмрд╛рд░ рдорд░реНрдЬ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред

рд╕реНрд░реЛрдд рдХреЛрдб:

 public Treap Remove(int x) { Treap l, m, r; Split(x - 1, out l, out r); r.Split(x, out m, out r); return Merge(l, r); }
      
      





рд╕реГрдЬрди рдХрд╛ рдХрд╛рд░реНрдп



рдЕрдм рд╕рдорд╛рдкреНрдд рдХрд╛рд░реНрдЯреЗрд╕рд┐рдпрди рдкреЗрдбрд╝ рдореЗрдВ рдПрдХ рддрддреНрд╡ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЬрд╛рдирддреЗ рд╣реБрдП, рд╣рдо рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрдЯ рд╕реЗ рдПрдХ рдкреЗрдбрд╝ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ: рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдорд╛рдирдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗ рдЬреЛрдбрд╝рдХрд░, рдПрдХ рд╢реАрд░реНрд╖ рд╕реЗ рдПрдХ рдкреЗрдбрд╝ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ - рдкрд╣рд▓реА рдХреБрдВрдЬреАред рдпрд╣ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдРрдб рдСрдкрд░реЗрд╢рди рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рд╕рдордп рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдореЗрдВ рдкреВрд░реНрдг рд╡реГрдХреНрд╖ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдХреБрд▓ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдорд┐рд▓рддрд╛ рд╣реИ - рдУ (рдПрди рд▓реЙрдЧ 2 рдПрди)ред



рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рддреЗрдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?



рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рд╛рдБред рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдЗрдирдкреБрдЯ рдХреА рдЪрд╛рдмрд┐рдпрд╛рдБ рдмрдврд╝рддреЗ рдХреНрд░рдо рдореЗрдВ рдЖрддреА рд╣реИрдВред рдпрд╣, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдпреЗ рдСрдЯреЛ-рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдирдП рдмрдирд╛рдП рдЧрдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИрдВред рддреЛ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдУ (рдПрди) рдореЗрдВ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИред рд╕рдЪ рд╣реИ, рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рд╕реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдУрд╡рд░рд╣реЗрдб рдХреЗ рд╕рд╛рде рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛: рдирд┐рд░реНрдорд╛рдг рдХреЗ рддрд╣рдд рдкреЗрдбрд╝ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреВрд░реНрд╡рдЬ рд╕реЗ рдПрдХ рд▓рд┐рдВрдХ рдХреЗ рддрд╣рдд (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реВрдХреНрд╖реНрдорддрд╛ рд╣реИ)ред



рд╣рдо рд▓рд┐рдВрдХ рдХреЛ рдкреЗрдбрд╝ рдореЗрдВ рдЕрдВрддрд┐рдо рдЬреЛрдбрд╝реЗ рдЧрдП рд╢реАрд░реНрд╖ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗред рдЕрдиреБрдХреВрд▓рддрд╛ рд╕реЗ, рдпрд╣ рдЗрд╕рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд╣реА рд╣реЛрдЧрд╛ - рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдкреЗрдбрд╝ рдХреА рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рдХреБрдВрдЬреА рд╣реИред рдЕрдм рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЕрдЧрд▓реА рдХреБрдВрдЬреА x рдХреБрдЫ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ y рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИред рдЗрд╕реЗ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП?



рдЕрдВрддрд┐рдо рдЪреЛрдЯреА рд╕рдмрд╕реЗ рд╕рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╕рд╣реА рдмреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЗрд╕рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ y рдЬреЛрдбрд╝реЗ рдЧрдП рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рд╕рд╣реА рдмреЗрдЯреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╢реАрд░реНрд╖ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░, рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╡реЗрдХ рдХреЗ рд╕рд╛рде, рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ рдЕрдЧрд▓реА рдХреБрдВрдЬреА рдкрд░ рдЬрд╛рдПрдВред рдЕрдиреНрдпрдерд╛, рдЖрдкрдХреЛ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдирдП рд╢реАрд░реНрд╖ рдкрд░ рдЕрднреА рднреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рдХреБрдВрдЬреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреЗрдбрд╝ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд╣реА рд╢реАрд░реНрд╖ рдмрди рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рд╣реА рд╢рд╛рдЦрд╛ рдкрд░ рдЫреЛрдбрд╝рдХрд░, рдХрд╣реАрдВ рднреА рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдЬреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рд╡рд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╢реАрд░реНрд╖ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ y рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╢рд╛рдЦрд╛ рдХреЗ рд╕рдмрд╕реЗ рджрд╛рд╣рд┐рдиреЗ рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рдЙрдареЗрдВрдЧреЗ, рд╣рд░ рдмрд╛рд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рджреЗрдЦреЗ рдЧрдП рд╢реАрд░реНрд╖ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВрдЧреЗред рдЕрдВрдд рдореЗрдВ, рд╣рдо рдпрд╛ рддреЛ рд░реВрдЯ рдкрд░ рдЖрддреЗ рд╣реИрдВ, рдпрд╛ рд╢рд╛рдЦрд╛ рдХреЗ рдмреАрдЪ рдореЗрдВ рдХрд╣реАрдВ рд░реБрдХ рдЬрд╛рддреЗ рд╣реИрдВред



рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдо рдЬрдбрд╝ рдореЗрдВ рдЖ рдЧрдПред рдлрд┐рд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдкреЗрдбрд╝ рдореЗрдВ рд╕рднреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ y рдЕрдзрд┐рдХ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ (x, y) рдПрдХ рдирдИ рдЬрдбрд╝ рдмрдирд╛рдиреЗ рдФрд░ рдЙрд╕ рдкрд░ рд╣рдорд╛рд░реЗ рдкреБрд░рд╛рдиреЗ рдмреЗрдЯреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдкреБрд░рд╛рдиреЗ рдкреЗрдбрд╝ рдХреЛ рд▓рдЯрдХрд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред



рдЕрдЧрд░ рд╣рдо рдЬрдбрд╝ рдореЗрдВ рдирд╣реАрдВ рдЖрдП, рддреЛ рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рди рд╣реИред рд╕рд╣реА рд╢рд╛рдЦрд╛ рдХреЗ рдХреБрдЫ рд╢реАрд░реНрд╖ рдкрд░ (x 0 , y 0 ) рд╣рдорд╛рд░реЗ рдкрд╛рд╕ y 0 > y рд╣реИ ред рдФрд░ рдЙрд╕рдХреЗ рддрддреНрдХрд╛рд▓ рджрд╛рд╣рд┐рдиреЗ рд╡рдВрд╢рдЬ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ y рд╕реЗ рдХрдо рд╣реИред рдХреБрдВрдЬреА рдЦреЛрдЬ рдЯреНрд░реА рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ (x, y) рдХреЛ рдкреЗрдбрд╝ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд╣реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ (x 0 , y 0 ) рдХреЗ рдирдП рджрд╛рд╣рд┐рдиреЗ рдмреЗрдЯреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдВрдкреВрд░реНрдг рдкреБрд░рд╛рдирд╛ рджрд╛рдПрдБ рджрд╛рдПрдБ рдмрд╛рдПрдБ рдмрд╛рдПрдБ рд╕рдмрдЯреНрд░реА (x, y) рдмрди рдЬрд╛рддрд╛ рд╣реИред



рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдХреБрдЫ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдЯреНрд░реА рд▓реЗрдВ рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╢реАрд░реНрд╖ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдХреБрдВрдЬреА рд╣рд░ рдЬрдЧрд╣ (22) рд╕рдорд╛рди рд╣реИ, рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЪрд░ рд╣реИред

y = 4:



y = 16:



y = 11:





рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо O (N) рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЬреАрд╡рди рдореЗрдВ рдЕрдзрд┐рдХрддрдо рджреЛ рдмрд╛рд░ рдЬрд╛рдПрдВрдЧреЗ: рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдВрдХреНрд░рдордгреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ 2N рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд┐рд╖рдо рд╡реНрдпрд╡рд╣рд╛рд░ O (N) рд╣реИред



рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП - рдХреБрдВрдЬреА рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рджрд┐рдП рдЧрдП рд╕рд░рдгреА рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдбред рдпрд╣рд╛рдВ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреЗрдбрд╝ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдкрд░ рднреА Parent



рд╕рдВрдкрддреНрддрд┐ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрд╣ рднреА рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдирд┐рдЬреА рд╢реАрд░реНрд╖ рдирд┐рд░реНрдорд╛рдг (рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкрд╛рдВрдЪрд╡рд╛рдВ) рдореЗрдВ рдЗрд╕реА рдирд╛рдо рдХреЗ рд╕рд╛рде рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИред

 public static Treap Build(int[] xs, int[] ys) { Debug.Assert(xs.Length == ys.Length); var tree = new Treap(xs[0], ys[0]); var last = tree; for (int i = 1; i < xs.Length; ++i) { if (last.y > ys[i]) { last.Right = new Treap(xs[i], ys[i], parent: last); last = last.Right; } else { Treap cur = last; while (cur.Parent != null && cur.y <= ys[i]) cur = cur.Parent; if (cur.y <= ys[i]) last = new Treap(xs[i], ys[i], cur); else { last = new Treap(xs[i], ys[i], cur.Right, null, cur); cur.Right = last; } } } while (last.Parent != null) last = last.Parent; return last; }
      
      







рд╕рд╛рд░рд╛рдВрд╢



рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреЗрдбрд╝ рдЬреИрд╕реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдИ рд╣реИ:

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЕрднреА рднреА рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкрд╛рда рдХреЗ рд╕рд╛рде рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдмрдЧреАрдЪрд╛ рдмрдирд╛рдирд╛ рд╕рд╛рд░реНрдердХ рдерд╛ред рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдерд╛ред рдЪрд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдкреЗрдбрд╝ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рдЗрд╕рдХреЗ рдЖрд╡реЗрджрди рдХреА рдХреНрд╖рдорддрд╛ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реЛрдиреЗ рд╕реЗ рджреВрд░ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рд╣реИред



рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧреЛрдВ рдореЗрдВ:
  1. рдПрдХ рдХрд╛рд░рдЯреЗрд╢рд┐рдпрди рдкреЗрдбрд╝ рдкрд░ рдХрдИ рдСрдкрд░реЗрд╢рди (рд╣реЗ (рд▓реЙрдЧ 2 рдПрди) рдпреЛрдЧ, рдЕрдзрд┐рдХрддрдо, рдЖрджрд┐ рдХреА рддрд▓рд╛рд╢)
  2. рдХрд╛рд░реНрдЯрд┐рд╕рд┐рдпрди рдЯреНрд░реА рдХреЛ рдирд┐рд╣рд┐рдд рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ (рдпрд╛ рдХреИрд╕реЗ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕рд░рдгреА рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП)
  3. рдХрд╛рд░реНрддреАрдп рд╡реГрдХреНрд╖ рдХрд╛рд░реНрдпреЛрдВ (рдФрд░ рдЙрдирдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ) рдХреЗ рддреНрд╡рд░рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
  4. рдПрдл # рдореЗрдВ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдкреЗрдбрд╝ рдХрд╛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред


рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ



рдореИрдВ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рд╡реЗ рд╕рднреА рдирд┐рдпреЛрдЬрд┐рдд рд▓реЗрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИрдВред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЬрдм рдпреЗ рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ 2010 рдореЗрдВ рдПрд╕реАрдПрдо ICPC рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЦрд╛рд░реНрдХреЛрд╡ рд╡рд┐рдВрдЯрд░ рд╕реНрдХреВрд▓ рдореЗрдВ рджрд┐рдП рдЧрдП рд╡рд┐рдЯрд╛рд▓реА рдЧреЛрд▓реНрдбрд╢реЗрдЯрд┐рди рдХреЗ рдПрдХ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реВрдВред рдЗрд╕реЗ рд╕реНрдХреВрд▓ рдХреА рд╡реАрдбрд┐рдпреЛ рдЧреИрд▓рд░реА (рд╡рд░реНрд╖ 2010, рджрд┐рди 2) рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╣реА рдпрд╣ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд╛рд▓ рдХреЗ рджрд┐рдиреЛрдВ рдореЗрдВ рд╕рд░реНрд╡рд░ рднрдпрд╛рд╡рд╣ рд░реВрдк рд╕реЗ рд░рджреНрджреА рд╣реИред



рдЗрд╡рд╛рдиреЛрд╡ рджреНрд╡рд╛рд░рд╛ рдореИрдХреНрд╕рд┐рдо рдХреА рдИ-рдореИрдХреНрд╕рдХреНрд╕ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЦреЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдПрдХ рд╕рдореГрджреНрдз рднрдВрдбрд╛рд░ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрд╕ рдкрд░ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдХреЗ рдкреЗрдбрд╝ рдкрд░ рдПрдХ рд▓реЗрдЦ рд╣реИ ред



рдХреЙрд░реНрдореЗрди, рд▓рд┐рд╕реЗрд░рд╕рди, рд░рд┐рд╡реЗрд╕реНрдЯ, рд╕реНрдЯреАрди рдХреА рдкреНрд░рд╕рд┐рджреНрдз рдкреБрд╕реНрддрдХ рдореЗрдВ, "рдПрд▓реНрдЧреЛрд░рд┐рдердо: рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг," рдПрдХ рд╕рдмреВрдд рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдкреЗрдбрд╝ рдХреА рдКрдВрдЪрд╛рдИ рдХреА рдЙрдореНрдореАрдж рд╣реЗ (рд▓реЙрдЧ 2 рдПрди) рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЦреЛрдЬ рдкреЗрдбрд╝ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣рдо рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдпрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдбреЗрд░реИрдбреНрд╕ рдХреЛ рдкрд╣рд▓реЗ рд╕реАрдбреЗрд▓, рд░рд╛рдпрдореБрдВрдб рдХреЗ рдПрдХ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛; рдЖрд░рд╛рдЧреЙрди, рд╕реЗрд╕рд┐рд▓рд┐рдпрд╛ рдЖрд░ (1996), рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЦреЛрдЬ рдкреЗрдбрд╝ ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рд╡рд┐рд╖рдп рдкрд░ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред



рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗ :)



All Articles