Я не знаю, як вирішити цю проблему за час , але алгоритм O ( n 2 log n ) існує.О ( н.)2)О ( н.)2журналn )
Нехай - коло, центром якого є s i , i - я точка, радіусом r . Це не важко знайти , що безліч точок Р = { р 0 , р 1 , ... , р т } можуть бути укладені в окружності з радіусом г , тоді і тільки тоді перетин I ( Р ) з С ( р 0 ) , С ( р 1 ) , …С( сi)сiirП= { р0, стор1, … , Сторм}rЯ( С) не порожній. Більше того, якщо I ( P ) не порожній, у I ( P ) повинні бути деякі точки, щолежать на деякому bd C ( p i ) (межа C ( p i ) ). Тож для кожного C ( s i ) та кожної точки p на його облігації ми намагаємось знайти, скільки кіл містить p . Максимальна кількість серед усіх p буде відповіддю на цю проблему.С( с0) , С( с1) , … , С( см)Я( С)Я( С)бд C( сi)С( сi)С( сi)ppp
Розберемо точки в . Існує відображення один на один між точками на bd C ( s i ) і реальним числом в [ 0 , 2 π ) . Для кожного кола C ( s j ) перетин між C ( s j ) та bd C ( s i ) можна представити інтервалом [ b e g i n jбд C( сi)бд C( сi)[ 0 , 2 π)С( сj)С( сj)бд C( сi) . Отже, для всіх кіл, окрім C ( s i ) , існує максимум n - 1 інтервалів (деякі кола можуть не перетинатися з C ( s i ) ). Максимальне число можна легко знайти, відсортувавши всі 2 ( n - 1 ) кінцеві точки інтервалу, скануючи їх у порядку та підрахувавши поточне число, що перекривається. Для кожного C ( s i ) цей крок можна зробити в O ( n log n[ б е gя нj, е н дj]С( сi)n - 1С( сi)2 ( n - 1 )С( сi) час, і є n таких кіл, тому складність часу цього алгоритму становить O ( n 2 log n ) .О ( н.) журналn )нО ( н.)2журналn )