Виталик Голоенко
и складываем
Igor
да
а если у тебя
1 8 9 3 5 7
Виталик Голоенко
Igor
ну да
ну да но твой код не выделяет две он жадно одну только выделяет ;)
Виталик Голоенко
точнее он сначала пойдет по ветке 1 8 9
потом вернется до 1
потом пойдет по второй ветке
Виталик Голоенко
Виталик Голоенко
а вообще мб мемоизация нужна
Igor
ну о(n^2)
бля я пьяный и сплю ... но нет ... даже если последовательностей квадрат то твой код точно бегает гораздо больше ... у тебя там чуть ли не экспонента вроде получается
Виталик Голоенко
Igor
Igor
я описал похожую идею только если рассматривать среднего солдата посмотри
Igor
можно посмотреть сколько меньше его слева и больше справа
потом наоборот для убывающих последовательностей
Igor
что то типа
def numTeams(self, rating: List[int]) -> int:
cnt = len(rating)
l_min = [sum(1 for j in range(i) if rating[j] < rating[i]) for i in range(cnt)]
r_min = [sum(1 for j in range(i + 1, cnt) if rating[j] < rating[i]) for i in range(cnt)]
res = 0
for l in range(cnt):
r = cnt - l - 1
res += l_min[l] * (r - r_min[l])
res += (l - l_min[l]) * r_min[l]
return res
Igor
идея схожая с таблицей инверсий
Igor
сейчас это квадрат
Igor
то l_min и r_min можно посчитать за логарифм или даже за линию смотри алгоритмы построения таблицы инверсий ... линия там правда очень дорогая ... дешевле логарифм делать ... пишешь любое дерево хоть фенвик хоть отрезки и получаешь простой алгоритм
Igor
на 1000 с попкаунтом ... можно вообще попробовать бит сет взять и за счет попкаунта посчитать n/64 а это для 1000 уже меньше корня ;)
Виталик Голоенко
понял
ток слов непонятных много)
Igor
popcnt это функция которая возвращает кол-во единиц в числе в двоичном представлении...
Виталик Голоенко
Igor
а битсет собственно это оооочень длинное двоичное слово ... т.е грубо говоря 1000 бит
Igor
и вот эти 1000 бит обозначают есть уже число или нет и когда мы считаем кол-во то мы считаем кол-во включенных битов меньше нашего числа
таким образом мы можем по unsigned int идти и ссчитать за одну операцию сразу 64 числа есть / нет
Виталик Голоенко
Igor
это все ручками прийдется реализовывать ... не стандартные структуры ... так что проще пиши фенвика ;)
Igor
там 5 строчек ;)
Виталик Голоенко
Igor
смотри мы приходим к первому числу ... пихаем его в дерево
приходим ко второму числу
зырим в дереве сколько чисел меньше этого числа ...
пихаем второе число
продолжить ;)
аналогично с права на лево для правой части
получаем n log n
дерево хранит кол-во чисел на отрезке ... это самый классический пример для всех деревьев
Виталик Голоенко
Igor
Ты с деревьями не работал?
Igor
пфф ... "так шо ви мине таки голову морочите"
Igor
sorted list зырь это более понятное и можно свой на костылить в нем просто бинпоиском ищешь кол-во
Igor
можно через sqrt декомпозицию ;) че нить нахеровертить ;) если не хочешь классику учить ;)
Виталик Голоенко
Igor
какой смысл решать задачи если ты ничего нового учить не хочеш ;) а ничего старого ты не знаешь ;)
Виталик Голоенко
m700
https://www.youtube.com/watch?v=WDa7VTm6EYA
Андрей Александрович
Ребята вопрос наверное очень глупый )
Но я что-то в тупике )
Подскажите мне,как в реакте воспроизвести два аудио подряд по клику на кнопку и чтобы пауза отрабатывала корректно )
Maksim Pozharskiy
Maksim Pozharskiy
Если какая то либа, то там скорее всего есть где взять длительность аудио или даже событие окончания проигрывания
Сидредин
Пока мы тут дурью маемся - пацан создал свой SpaceX https://youtu.be/SH3lR2GLgT0
Maksim Pozharskiy
Алексей
Сидредин
Alexander
Всем дарова. Помню тут проскакивали вопросы по поводу какую ось выбрать начинающему тестеру/автотестеру/проггеру. Я вот решил снять три видео на тему, разобрав плюсы и минусы окон, линупса и яблока https://youtu.be/YqoAi5XvTtw
Максим
Зачем ограничивать себя, когда есть виртуалки
Roman
Oleksii
Agent_RBY_
Сидредин
Oleksii
Agent_RBY_
eye=x×s²
Maksim Pozharskiy
Agent_RBY_
Сидредин
Igor
Хотя бля о чем ... щас бы просирание время обсуждать в чате ;)
Igor
Про апдейтсы не понял ... я месяцами не апдейчу винду что это за страшная история про то что винда ааааа обновляетя сама?
Alexander
Реально с самолётом было дело, я забил, выдернул из розетки, так он мне потом час спину в рюкзаке грел
Alexander
Зимой мо и норм тема
Igor
Если пользователь не может выбрать когда обнавляться вероятнее всего и систему ему выбирать не прийдется ;) ... а если выбирора нет, зачем смотреть видео о выборе ;)
Igor
Так то игры тоже скорее всего на рабочий ноут ставить нельзя ;) поэтому плюс с играми тоже отпадает ;)
Сидредин
Alexander
Igor
смешно ;) ... мы за безопасность но левый софт ставить можно ....