
Евгений
13.07.2018
12:55:22

Nick
13.07.2018
12:55:47

Tigran
13.07.2018
12:56:17

Google

El Mariachi
13.07.2018
12:57:12
оставил чтоб прога не прерывалась, он мне каждые 3-4 секунды новую подходящую окружность выдает
вот вам и нейронные сети

Tigran
13.07.2018
12:59:58
мда
неужели задание было на перебор :(

El Mariachi
13.07.2018
13:00:27
ну, с другой стороны, это же mail.ru
чего от них еще ждать

Амир
13.07.2018
13:00:39

Denis
13.07.2018
13:01:27
фпиръод
https://www.digitalocean.com/community/tutorials/linux-nginx-mysql-php-lemp-ubuntu-16-04-ru
всё сделал, заработало
а как сделать https а то у меня нет доступа к камере

El Mariachi
13.07.2018
13:01:52

Ildar
13.07.2018
13:02:18
теперь гугли в ту сторону: https://letsencrypt.org/

Евгений
13.07.2018
13:03:35

Google

Rasha
13.07.2018
13:03:57
есть задача более интересная ()

Ildar
13.07.2018
13:04:33
был описан багованный процесс получения и обновления сертификатов и автоматического обновления nginx через letsenrypt'овые тулзы(

Tigran
13.07.2018
13:10:13

Ildar
13.07.2018
13:12:47

Tigran
13.07.2018
13:13:14
А жаль, я придумал крутой алгоритм (сейчас у него, правда, проблемы с точностью)

Евгений
13.07.2018
13:14:27
можно еще a[:a.find('/',2)]+a[a.rfind('/'):]
Не, у меня в одной линии может быть два патфа, поэтому я пользуюсь r"/([^/\n(\\ )])+/\.\./" в цикле, только пока не знаю, как узнать, заменилось или нет (что бы из цикла выйти)

Big
13.07.2018
13:15:05
Ребят у каво есть почта .edu?

Артем
13.07.2018
13:15:11
Ребят, есть вопрос. Как называется вот эта фишка :
a[::-1]
Я знаю что она делает, но как называется? Отрицательный срез? Или что это?

Quasar
13.07.2018
13:15:16

Евгений
13.07.2018
13:16:37

Ildar
13.07.2018
13:17:01

Артем
13.07.2018
13:17:06
a.reverse()
Да, спасибо, я знаю аналоги. Мне нужно именно как эта фишня называется

Евгений
13.07.2018
13:17:25

Quasar
13.07.2018
13:17:36
steps

Mikhail
13.07.2018
13:17:57

Артем
13.07.2018
13:18:25

El Mariachi
13.07.2018
13:20:16

Aragaer
13.07.2018
13:20:58
то есть мой алгоритм с прямой никто не стал пытаться реализовать?

Google

El Mariachi
13.07.2018
13:21:20

Tigran
13.07.2018
13:21:32

Aragaer
13.07.2018
13:21:44
дайте инпут тогда, попробую

Tigran
13.07.2018
13:21:52

El Mariachi
13.07.2018
13:22:24

Tigran
13.07.2018
13:22:46

El Mariachi
13.07.2018
13:23:03

Tigran
13.07.2018
13:24:22

El Mariachi
13.07.2018
13:24:44
ну вот и разница

Tigran
13.07.2018
13:25:15
их просто дохрена

Ildar
13.07.2018
13:25:24
ничосе я щас конструкцию увидал как получить 0й и последний элемент:
a[::len(a)-1]

Tigran
13.07.2018
13:25:44

El Mariachi
13.07.2018
13:26:35

Tigran
13.07.2018
13:28:27
За несколько минут меньше 1%

Aragaer
13.07.2018
13:30:00
так надо все решения или любое одно?

El Mariachi
13.07.2018
13:30:07

Tigran
13.07.2018
13:30:10
требуют любое вроде бы

Google

El Mariachi
13.07.2018
13:30:13
но оказалось слишком просто

Tigran
13.07.2018
13:30:17
это мы так, фаллометрией занимаемся

Aragaer
13.07.2018
13:30:19
мой алгоритм даст только одно

Tigran
13.07.2018
13:30:34
я нахожу одно за 100мс
интересно, кстати, сколько вообще минимально может быть решений в этой задаче

Aragaer
13.07.2018
13:31:46
ммкай, я нашел готовую штуку, которая делает условно первую половину
а впрочем..

Tigran
13.07.2018
13:31:57
трудно себе представить конфигурацию, в которой перебор будет долго работать

Admin
ERROR: S client not available

Aragaer
13.07.2018
13:32:37
не, не могу придумать халявного способа довести до ответа

Jl
13.07.2018
13:32:53
Python 3.7.0
Release Date: 2018-06-27
from dataclasses import dataclass, field
@dataclass(order=True)
class Country:
name: str
population: int
area: float = field(repr=False, compare=False)
coastline: float = 0
def beach_per_person(self):
"""Метры береговой линии на человека"""
return (self.coastline * 1000) / self.population

Aragaer
13.07.2018
13:32:55
то есть сейчас у меня есть прямая, которая делит на 1001 и 1001

Jl
13.07.2018
13:33:03
Что скажете по данной конструкии в 3.7
Круто ведь

Aragaer
13.07.2018
13:33:47
я люблю поля префиксить подчеркиванием
и если надо, то доступ по геттерам

Jl
13.07.2018
13:35:27
По натации так и надо
я люблю поля префиксить подчеркиванием
и если надо, то доступ по геттерам


Tigran
13.07.2018
13:37:40
Зацените мой алгоритм. Перебираем всевозможные пары точек (их O(N^2)) и для каждой пары делаем следующее за O(N log N):
Проводим через две точки прямую. Все точки побились на "левые" и правые". Теперь в каждой половине побьём точки ещё на две группы: те, которые при построении окружности с зафиксированными двумя дают центр "слева" и "справа". Теперь у нас четыре группы точек. Отсортируем их все по величине радиуса окружности, которую они образуют с зафиксированными точками. Заметим, что окружность, проведённая через "левую" точку с "левым" центром, включает все "левые" точки с "левым" центром с меньшим радиусом окружности, все "правые" точки с "левым" центром и большим радиусом окружности, и вообще все "левые" точки с "правым" центром. Таким образом, мы можем быстро вычислять для каждой из оставшихся точек, сколько будет точек в соответствующей окружности, если будем идти одновременно по массиву "левых" точек с "левым" центром в одну сторону и по массиву "правых" точек с "левым" центром в другую. Аналогично с заменой правого на левое. Получаем O(N log N) на сортировку и O(N) на линейные проходы по массивам.

Google

Aragaer
13.07.2018
13:38:40
я запутался 8)

Tigran
13.07.2018
13:38:53
Тут рисовать надо)

Aragaer
13.07.2018
13:39:10
мой алгоритм можно нарисовать, выглядит это красиво и просто, но я плохо понимаю, как его реализовать
первый шаг - найти прямую, которая делит на 1001, прямая с одной точкой, 1001
это делается с помощью statistics.median - там сложность наверняка не более N*logN
но может быть, что таким образом попалось более 1 точки, тогда надо сделать небольшой поворот
а дальше надо эту одну прямую "скруглить", пока она не коснется еще двух


El Mariachi
13.07.2018
13:42:33
Зацените мой алгоритм. Перебираем всевозможные пары точек (их O(N^2)) и для каждой пары делаем следующее за O(N log N):
Проводим через две точки прямую. Все точки побились на "левые" и правые". Теперь в каждой половине побьём точки ещё на две группы: те, которые при построении окружности с зафиксированными двумя дают центр "слева" и "справа". Теперь у нас четыре группы точек. Отсортируем их все по величине радиуса окружности, которую они образуют с зафиксированными точками. Заметим, что окружность, проведённая через "левую" точку с "левым" центром, включает все "левые" точки с "левым" центром с меньшим радиусом окружности, все "правые" точки с "левым" центром и большим радиусом окружности, и вообще все "левые" точки с "правым" центром. Таким образом, мы можем быстро вычислять для каждой из оставшихся точек, сколько будет точек в соответствующей окружности, если будем идти одновременно по массиву "левых" точек с "левым" центром в одну сторону и по массиву "правых" точек с "левым" центром в другую. Аналогично с заменой правого на левое. Получаем O(N log N) на сортировку и O(N) на линейные проходы по массивам.



Aragaer
13.07.2018
13:42:38
это примерно N+N. Сначала для каждой точки найти радиус окружности, чтобы проходило через нее и еще ту одну выделенную. Выбрать максимальный (это одна из 2)
и потом еще раз пройти, чтобы выбрать максимальный радиус, чтобы проходило через уже найденные две
но у меня мозг в арифметику чот не способен сегодня

Tigran
13.07.2018
13:44:22
чот действительно быстро получается
хотя стоп

Mikhail
13.07.2018
13:44:58

Tigran
13.07.2018
13:45:04

Mikhail
13.07.2018
13:45:16

Aragaer
13.07.2018
13:45:36
нет, потому что они с другой стороны прямой
вся окружность лежит с этой стороны, а прямой только касается в выделенной точке. Вроде так

Tigran
13.07.2018
13:48:36
а, так сгибать