
Aragaer
06.07.2018
08:06:36
это будет вполне в стиле бигдата

м_м
06.07.2018
08:06:58
?

Aragaer
06.07.2018
08:07:54
sum(a*b for a, b in zip([l < x for l in lowers], [r > x for r in uppers]))
это "псевдокод", потому что в нумпи это можно сразу векторно сделать

Google

м_м
06.07.2018
08:10:07
ну раз можно, значит сделаю. спасибо

Tigran
06.07.2018
08:10:53
Давайте лучше я дам задачку для скучающих. На вход дана матрица M x N, в которой только нули и единицы. Задача - определить, есть ли в этой матрице прямоугольник, в четырёх углах которого стоят единицы.

Фёдор
06.07.2018
08:11:39
О, как в чекио задачка
Ток там сложнее была

Tigran
06.07.2018
08:12:00
Например, в матрице
1 0 1
1 0 1
он есть, а в
1 1
1 0
его нет.

Antony
06.07.2018
08:12:20

Aragaer
06.07.2018
08:12:26
почему нет?
а, прямоугольник должен быть больше или равен 2х2

Tishka17
06.07.2018
08:12:51

Tigran
06.07.2018
08:12:54
прямоугольники 1 х 1 не считаются)

Aragaer
06.07.2018
08:13:12
ну и 1хК наверно тоже

Tigran
06.07.2018
08:13:22
ага

Google

Фёдор
06.07.2018
08:13:49
Ща найду. Там были координаты начала и конца линий, найти квадраты

Tigran
06.07.2018
08:14:57
Ну это другое же совсем

Фёдор
06.07.2018
08:18:27
Ну как сказать
Чуть усложненная версия

Aragaer
06.07.2018
08:19:48
for i in range(N):
for j in range(i, N):
if sum(a*b for a, b in zip(arr[i], arr[j])) > 1:
return True
return False
тупо в лоб

Tigran
06.07.2018
08:20:19
тупо в лоб медленно)

Aragaer
06.07.2018
08:20:52
если бы я например знал, что M или N меньше 63, то сделал бы битами

Tigran
06.07.2018
08:21:19
битами можно ускорить в 64 раза, да
но тут желательно асимптотику получше, чем N^3 :)

Aragaer
06.07.2018
08:22:11
с битовыми операциями оно будет N^2 уже 8)
M для превращения массива в список чисел, потом N^2 для прохода, потому что битовые операции будут за константу

Tigran
06.07.2018
08:23:32
но на больших массивах у тебя будет N / 64 операций для умножения двух строк
то есть O(N) :)

Aragaer
06.07.2018
08:23:57
AND, но да

Anton
06.07.2018
08:25:10
Почему при попытке перейти на http://127.0.0.1:5000/cgi-bin/ выдает ошибку?
Error code: 403
Message: CGI script is not a plain file ('/cgi-bin/').

Tigran
06.07.2018
08:25:36
лютый оффтоп

Anton
06.07.2018
08:25:38
Начал тут читать Лутца, первый том, там упражнение с использованием CGI

Google

Anton
06.07.2018
08:25:43
Питон же
:)

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:13:37

Aragaer
06.07.2018
09:15:22
придумал решение для задачи с нулями и единицами, но потом понял, что умножение матриц это куб 8(

Tigran
06.07.2018
09:15:59
умножение матриц - это меньше, чем куб
но всё ещё медленно, да)

Aragaer
06.07.2018
09:16:34
меньше чем куб? Какие-то волшебные алгоритмы? Потому что если строго по определению, то куб

Tigran
06.07.2018
09:18:20
Разумеется, волшебные алгоритмы)
Умножение матриц - это же суперизвестная алгоритмическая задача. На данный момент существует (очень медленный и крайне сложный, практически нереализуемый) метод за O(N^2.37).

Aragaer
06.07.2018
09:19:12
ок

Tigran
06.07.2018
09:19:16
Вполне реализуемый Штрассен работает за O(N^2.81).

Aragaer
06.07.2018
09:20:29
еще понял, что если за f(N) можно проверить факт наличия, то за f(N) + f(N/2) + f(N/4) + ... можно обнаружить сам прямоугольник

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:21:33
Что вы считаете? Число проходов в цикле или что?

Aragaer
06.07.2018
09:21:48
сложность алгоритма

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:22:05
А в каких таких попугаях она измеряется?

Tigran
06.07.2018
09:22:21
В количестве шагов машины Тьюринга

Alex
06.07.2018
09:22:21
А в каких таких попугаях она измеряется?
https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:22:24
Что за О и N?

Tigran
06.07.2018
09:22:39
гугли big O notation

Google

Nikolay
06.07.2018
09:22:52

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:23:36
Время определяется количеством элементарных шагов, необходимых для решения задачи
Вот я из ваших рассуждений что-то такое себе и представил

Ser
06.07.2018
09:31:06
какая-то битва за количество тактов цп при решении задачи

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:32:55
Не тактов же, а элементраных шагов. Полагаю, что не все такие элементарные шаги укладываются в один такт

Aragaer
06.07.2018
09:34:51
собссно когда говорят об О-нотации, то предполагается во-первых какой-то множитель, а во-вторых более сложное забивает менее сложное
то есть если один алгоритм делает за N^3 вжух и все, а другой сначала делает 100500 шагов по N^2 подготовительных, а потом за N^2*log(N) делает какую-то магию, а потом еще за N^2 из этой магии выковыривает результат, то второй считается быстрее
потому что 100500 N^2 полностью прячутся за N^2*log(N)

Влад
06.07.2018
09:38:48
Можно объяснить проще. О-нотация показывает зависимость числа операций от количества элементов. Если O(N^2), то для одного элемента нужно сделать одну итерацию действий, для двух - 4 итерации, 3 - 9, 4 - 16 и т.д.
Чем меньше это соотношение, тем оптимальнее алгоритм.

Aragaer
06.07.2018
09:39:57
1 и 2 никому не интересно
интереснее "а если взять в 2 раза больше, во сколько раз будет медленнее"
то есть если для какого-то N код работает час, то сколько будет работать для N*2?

SeRi0uS007
06.07.2018
09:41:26
Здравствуйте. Есть вопрос.
Аналог ByteBuffer в node js для python это bytes/bytearray?

slair
06.07.2018
09:45:57

Kobby
06.07.2018
09:50:32
привет всем , мне помочь надо
Привет!
Такс, по поводу твоего задания.
https://drive.google.com/open?id=1KZ9DFSOl1IFJwAnClAT..
Тут скрипты парсеров. Твой sberbank2.py.
Что нужно сделать:
Организовать сбор данных по всем лотам (объектам). Пока там собирается информация только с одного. Т.е организовать цикл по всем страницам сайта и по всем объектам. А не только по одному.
Какие этапы я бы советовал пройти:
- разобраться как устроен сайт
- разобраться в коде
- понять что такое парсинг
- разобраться как работает BeautifulSoup
- почитать мануалы по Python (это прям в первую очередь)
В той же папке можешь посмотреть другие примеры парсеров различных сайтов
Anyone?

Yuryi
06.07.2018
09:52:46

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:53:23

Kobby
06.07.2018
09:53:39

Артем
06.07.2018
09:54:00

Google

Yuryi
06.07.2018
09:54:35

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:54:52

Ser
06.07.2018
09:56:04
?а так можно что ли? берешь тестовое задание, скидываешь в чатик, за тебя его бесплатно кто-то делает, тебя берут и вжух - ты сеньор<любое плохоеслово>кодер

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:56:14

Mike
06.07.2018
09:56:17

Артем
06.07.2018
09:56:40
Орууу

Alexander
06.07.2018
09:56:44
?

Viktor
06.07.2018
09:56:48
xDDD

Alexander
06.07.2018
09:56:49
я ожидал чего-то подобного)))

Bohdan
06.07.2018
09:56:52
лол

Sergey
06.07.2018
09:57:17
ахахахахах
а чувак неплох)

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
09:57:34

Артем
06.07.2018
09:58:00
Мы тут все как в одной большой деревне походу??

Bohdan
06.07.2018
09:58:17
6к народу все же

Ser
06.07.2018
09:58:36

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
10:00:00
Наверное он думал, что и таски потом можно будет сюда скидывать :)

Ser
06.07.2018
10:00:51

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.07.2018
10:01:20
А вообще напомнило историю про жену программиста, которую он натаскал на прохождение собеса, а потом по ночам, в свободное от основной работы время, пилил таски жены и имел в итоге два полных оклада в жало :)