рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдореБрдЭреЗ рдПрдХ рдХрд╛рдо рдорд┐рд▓рд╛ - рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рджрд▓ рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдВрд╡реЗрджрдирд╛ рдХрд╛ рд╕реНрдерд╛рдиред рдЗрд╕ рдмрд╛рд░ рд╕реНрдерд┐рддрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереА:
- рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░рд╛рд╢рд┐ рд╣реИ (рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ 16 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ) рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХреЗ рдорд╛рдк рдХреЗред рд╕реЗрдЯ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 2 рд╕реЗ 5 рддрдХ рд╣реИред
- рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдорд╛рдк рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдлрд┐рд░ рдЙрдирдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╕рд╣реА рдХреЗ рдХрд░реАрдм рд╣реЛрдЧрд╛ (рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд╡рд┐рддрд░рдг рдХреЗ рдкреНрд░рдХрд╛рд░ рдЕрдЬреНрдЮрд╛рдд рд╣реИрдВ), рдпрд╛ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реИрдВ - рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реЛрдЧрд╛ (рдлрд┐рд░ рд╕реЗ рдЕрдЬреНрдЮрд╛рдд рд╡рд┐рддрд░рдг рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде)ред рдпрд╣ рдПрдХ рдорд╛рдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдлрд▓ рдерд╛ред
- рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдХреНрд╖реЗрдкрдг рдмрд┐рдВрджреБ рдореМрдЬреВрдж рд╣реИред рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рд╕рдорд╛рди рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рд╣реИрдВ (рдЬреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИрдВ), рддреЛ рдЖрдк рдХреЛрдИ рднреА рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЙрддреНрддрд░ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдкрд░ рдПрдХ рдкрд╛рд╕ рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдЧрдгрдирд╛ рдХрд░реЗрдВ рдпрд╛ рдкреВрд░реЗ - рдорд╣рдВрдЧреЗ рдХреЛ рдмрдЪрд╛рдПрдВред
- рдФрд░, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд░рд▓ рджрд┐рдЦреЗ рдФрд░ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗред
рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдкрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди 0 рд╕реЗ 1 рддрдХ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо 5 рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП 3 рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдПрдХ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрдиреАрдп рд╣реЛрдЧрд╛, рдФрд░ 4 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП 4 рдпрд╛ рдЕрдзрд┐рдХред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддрд░реАрдХреЛрдВ рдХреЛ рд╕рдВрджрд┐рдЧреНрдз рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдирд┐рдХрдЯрддрдо рдмрд┐рдВрджреБ рддрдХ рдХреА рджреВрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рднрд╛рд╡реА рдЦреЛрдЬ рдХреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рднреА рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ: рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╕реЗрд▓ рдЖрдХрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рднреА рдорд╛рдк 0.1 рдХреЗ рд╡реНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЧреЗрдВрдж рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрдВрдЧреЗ, рдФрд░ рд╕рдлрд▓ рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдХрд╛рд░ 0.003 рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ (рдПрди-рдЖрдпрд╛рдореА рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ!) рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкрд░ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЗ рд╕рдВрдШрдирди рдХреЗ рдкрджреЛрдВ рд╕реЗ рдПрди-рдЖрдпрд╛рдореА рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рдВрдШрдирди рдХреЛ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреИрдХрдЕрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реИ, рдФрд░ рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЗ рдХрд╛рд░рдг рдиреБрдХрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЧрд╛рдврд╝рд╛ рд╣реЛрдиреЗ рдХреЗ рдкрд░рдЬреАрд╡реА рдХреНрд╖реЗрддреНрд░ред
рдЬреЛ рд╡рд┐рдХрд▓реНрдк рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧрд╛, рд╡рд╣ рд╣реИ
рдХреЗрдбреА рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧред рдпрджрд┐ рд╣рдо рдПрдХ рдмрд╛рдЗрдирд░реА рдЯреНрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдПрдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреНрд╖реЗрддреНрд░ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ (рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЪрдХреНрд░ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рд╣реИрдВ - x
1 , x
2 , ..., x
k , x
1 , x
2 , ...), рдФрд░ рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреНрдЮрд╛рдд рдХрд░реЗрдВред рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдВрдХ N рдХреЛ N рд╕реЗ рдХрдо K рдХрд╛ рдорд╛рди рдЪреБрдиреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, K = [sqrt (N)] рдпрд╛ K = [N
2/3 ]ред рд╣рдо рдХрдо рд╕реЗ рдХрдо K рдЕрдВрдХ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдЖрдпрддрди (рдпрд╛рдиреА, рдкреЗрдбрд╝ рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЧрд╣рд░рд╛рдИ рдкрд░ рд╕реНрдерд┐рдд) рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдкрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдРрд╕реЗ рдХрдИ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ, рддреЛ рдЙрд╕ рдмрд┐рдВрджреБ рдХреЛ рд▓реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд┐рдВрджреБ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕реЗ рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗ (рдЖрдЧреЗ рдкреЗрдбрд╝ рдиреАрдЪреЗ рдЬрд╛рдирд╛), рд╣рд░ рдмрд╛рд░ рдПрдХ рдЖрдзрд╛ рдЪреБрдирдирд╛ рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХ рдЕрдВрдХ рд╣реИрдВред рдЬрдм рд╣рдо рд╢реАрдЯ рдкрд░ рдкрд╣реБрдВрдЪреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрд┐рдВрджреБ рдкрд░), рд╣рдо рдЗрд╕реЗ рдПрдХ рдЙрддреНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВред
рдЖрдк рдРрд╕реЗ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕рдВрдХреНрд╖реЗрдкрдг рдХреЗ рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░ рдХреЛ рдпрд╛рдж рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рд╕рдВрдЧрддрд┐ рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛, рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдкрдг рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рдПрдХ рдмрд┐рдВрджреБ рджреВрд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдЙрддреНрддрд░ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╣реЛрдВрдЧреЗ рдкрд░реНрдпрд╛рдкреНрддред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЗрдбреА рдХреЗ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдорд╣рдВрдЧрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдореЗрдореЛрд░реА рд▓рдЧрддреА рд╣реИред рдореИрдВ рдкреНрд░рддрд┐ рдкреНрд╡рд╛рдЗрдВрдЯ 8 рдмрд╛рдЗрдЯ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЦрд░реНрдЪ рдХрд░рдирд╛ рд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд╕рдордп рдФрд░ рд╕реНрдореГрддрд┐ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ kd рдкреЗрдбрд╝ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд┐рдВрджреБ (x
1 , x
2 , ..., x
k ) рд╣реИред рд╣рдо рдмрд╛рдЗрдирд░реА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЗрд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
x
1 = 0.x
11 x
12 x
13 ...
x
2 = 0.x
21 x
22 x
23 ...
x
3 = 0.x
31 x
32 x
33 ...
...
рдФрд░ рд╣рдо 64-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдмрдирд╛рдПрдВрдЧреЗ
P = x
11 x
21 ... x
k1 x
12 ... x
k2 ...
рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдкреЗрдбрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 64 рдХреА рдЧрд╣рд░рд╛рдИ рддрдХ рдкрде рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдпрджрд┐ рд╣рдо рдЖрд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП P рдХреЛрдб рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдкреЗрдбрд╝ рдХреЗ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдЕрдВрдХ рдорд┐рд▓рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рджреЛ рдмрд┐рдВрджреБ P
a рдФрд░ P
b рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдЧрд╣рд░реЗ рдиреЛрдб рдХреЛ рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рдВрд╢рдЬ рд╡реЗ рд╣реИрдВ: рдпрд╣ рд╕рдВрдЦреНрдпрд╛ P P
a ^
b рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЙрдирдЬрд░реЛ рдмрд┐рдЯ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдФрд░ рдЗрд╕ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЯреБрдХрдбрд╝реЗ рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╣рд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ:
рдЙрд╕ рд╕реНрддрд░ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ рдЬрд┐рд╕ рдкрд░ рдХрдо рд╕реЗ рдХрдо K рдЕрдВрдХ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдмрд┐рдВрджреБ рд╕реНрдерд┐рдд рд╣реИрдВ:
ulong mask=ulong.MaxValue; K--; for(int i=K;i<m_np;i++) mask=Math.Min(mask,m_Arr[i]^m_Arr[iK]);
рдпрд╣рд╛рдБ m_Arr рдХреЛрдб рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ, m_np рдЗрд╕рдореЗрдВ рднрд░реЗ рд╣реБрдП рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдорд╛рд╕реНрдХ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдЪреНрдЪ рдмрд┐рдЯ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрддрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдкрд╛рдпрд╛ рд╕реНрддрд░ рдкрд░ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдЕрдВрдХ рд╣реЛрдВ (рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрдо рд╕реЗ рдХрдо K рд╣реИрдВ):
mask=InvMask(mask); int ms=0,me=0; for(int i=0;i<m_np-K;i++){ ulong a=m_Arr[i]; int h=i+K; if(((a^m_Arr[h])&mask)==0){ while(h<m_np-1 && ((a^m_Arr[h+1])&mask)==0) h++; K=hi; ms=i; me=i=h; } }
рдпрд╣рд╛рдБ InvMask (рдорд╛рд╕реНрдХ) рд╕рднреА рдмрд┐рдЯреНрд╕ рдореЗрдВ 1 рд╕реЗ рдпреБрдХреНрдд рдорд╛рд╕реНрдХ рдХреА рдЧрдгрдирд╛ рд╣реИ рдЬреЛ рдорд╛рд╕реНрдХ рдорд╛рд╕реНрдХ рдХреЗ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдЧреИрд░-рд╢реВрдиреНрдп рдмрд┐рдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░рд┐рд╖реНрда рд╣реИрдВред рдпрд╣ рдПрдордПрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ - рд╡рд╛рдВрдЫрд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдореБрдЭреЗ - рдЗрд╕рдХрд╛ рдЕрдВрддред
рдПрдХ рднрд╛рд░реА рд╡рдВрд╢рдЬ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ:
int h=(ms+me)/2; ulong samp=m_Arr[h]; ulong cb=samp^m_Arr[ms],ce=samp^m_Arr[me]; if(cb>ce) { ms=h; ce=InvMask(ce); while(ms>0 && ((m_Arr[ms-1]^samp)&ce)==0) ms--; } else { me=h; cb=InvMask(cb); while(me<m_np-1 && ((m_Arr[me+1]^samp)&cb)==0) me++; }
рдпрд╣рд╛рдВ рд╡рдВрд╢ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдПрдХ рд╕реНрддрд░ рдХрд╛ рд╣реЛред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдВрдХреНрд╖реЗрдкрдг рдХреА рдЦреЛрдЬ рдХрд╛ рдХрд╛рд░реНрдп рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдкреВрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо 100 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддрд╛ рд╣реИ, рд╕реНрд░реЛрдд (рд╕реА # рдореЗрдВ)
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕реВрддреНрд░реАрдХрд░рдг рд╣реИред рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕реАрдорд╛ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирдореВрдиреЗ рдореЗрдВ рдорд╛рдк рдпреЛрдЬрдирд╛рдмрджреНрдз 16 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ "рдЕрдЪреНрдЫрд╛" рдорд╛рдк рдЕрдВрдд рдХреА рдУрд░ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЫреЛрдЯреЗ рд╕рдВрд╢реЛрдзрди рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕рд░рдгреА рдореЗрдВ рдЬрдЧрд╣ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЕрдВрдХ рдкреНрд░рд╡рд╛рд╣рд┐рдд рд╣реЛрддреЗ рд░рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдпрд▓ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рд╕рд░рдгреА рдХреЛ рдЫрд╛рдВрдЯ рдФрд░ рдкрддрд▓рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЗрд╕рд╕реЗ рдореЛрдЯрд╛ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреАред
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ - рдХрд╛рдо рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг (рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ, 10 ^ 5 рдФрд░ 10 ^ 7 рдЕрдВрдХ - рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рдХрдИ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП)ред рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЕрднреА рднреА рд╕реБрдзрд╛рд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдкрд╛рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП), рдФрд░ рдпрд╣ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╡рд┐рд╡реЗрдХрдкреВрд░реНрдг рд╣реИ, рдФрд░ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред








