Виталик Голоенко
и складываем
Igor
да
а если у тебя 1 8 9 3 5 7
Igor
а если у тебя 1 8 9 3 5 7
тут две возрастающие подпоследовательности можно выделить 1 8 9 и 1 3 5 7
Igor
ну да
ну да но твой код не выделяет две он жадно одну только выделяет ;)
Виталик Голоенко
ну да но твой код не выделяет две он жадно одну только выделяет ;)
result+=((b_counter-2)*(b_counter-1))/2; ну вот для 1 8 9 посчитает результ + 1 а для 1 3 5 7 посчитает результ+3 в итоге результ = 4
Виталик Голоенко
точнее он сначала пойдет по ветке 1 8 9 потом вернется до 1 потом пойдет по второй ветке
Igor
точнее он сначала пойдет по ветке 1 8 9 потом вернется до 1 потом пойдет по второй ветке
т.е ты предлагаешь все последовательности перебирать? их может быть овер дохера 1 10 2 11 3 12 4 13 5 14 6 15 7 16 8 18 9
Виталик Голоенко
а вообще мб мемоизация нужна
Igor
ну о(n^2)
бля я пьяный и сплю ... но нет ... даже если последовательностей квадрат то твой код точно бегает гораздо больше ... у тебя там чуть ли не экспонента вроде получается
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
а можно просто не решать задачи связанные с деревьями)
можно вообще не решать задачи ;) ты ж сам вызвался ;)
Igor
какой смысл решать задачи если ты ничего нового учить не хочеш ;) а ничего старого ты не знаешь ;)
Igor
та за шо пошутил же
я шучу ;) развлекайся как нравится ;)
m700
https://www.youtube.com/watch?v=WDa7VTm6EYA
Андрей Александрович
Ребята вопрос наверное очень глупый ) Но я что-то в тупике ) Подскажите мне,как в реакте воспроизвести два аудио подряд по клику на кнопку и чтобы пауза отрабатывала корректно )
Maksim Pozharskiy
Если какая то либа, то там скорее всего есть где взять длительность аудио или даже событие окончания проигрывания
Сидредин
Пока мы тут дурью маемся - пацан создал свой SpaceX https://youtu.be/SH3lR2GLgT0
Maksim Pozharskiy
Пока мы тут дурью маемся - пацан создал свой SpaceX https://youtu.be/SH3lR2GLgT0
Лол, он на первых секундах видоса даже на Илона похож внешне
Alexander
Всем дарова. Помню тут проскакивали вопросы по поводу какую ось выбрать начинающему тестеру/автотестеру/проггеру. Я вот решил снять три видео на тему, разобрав плюсы и минусы окон, линупса и яблока https://youtu.be/YqoAi5XvTtw
Максим
Зачем ограничивать себя, когда есть виртуалки
eye=x×s²
Щас бы сидеть и думать на какой осе работать
да, лучше подумать какой выбрать дистрибутив линукс
Oleksii
Щас бы сидеть и думать на какой осе работать
Я тоже за побитовое исчисление
Oleksii
Лучшая ось
Agent_RBY_
Лучшая ось
eye=x×s²
Maksim Pozharskiy
Лучшая ось
какая из двух?
Agent_RBY_
какая из двух?
Обе крутые
Сидредин
это же не ос, а пчёл
m700
Обе крутые
Ну да третья теперь не в почёте
eye=x×s²
это же не ос, а пчёл
у пчела башка серая
Сидредин
у пчела башка серая
у оса тоже не полностью жёлтая
Igor
это же не ос, а пчёл
похоже это что то среднее какой то ОС(пч)ЕЛ
Alexander
Нужно выбирать ту Ось, которую ты знаешь, имхо 🙂
Многие не согласятся. Я вот книжку умную читаю, там бывший какой то топ прогер кворы трёт что надо брать как раз то, что не знаешь и ваще учица учица учица
Igor
Многие не согласятся. Я вот книжку умную читаю, там бывший какой то топ прогер кворы трёт что надо брать как раз то, что не знаешь и ваще учица учица учица
Ну если цель стать пользователем системы то возможно. Но всему учиться не возможно. Мне кажется нужно правильно расставлять приоритеты чтобы не просирать время зря.
Igor
Хотя бля о чем ... щас бы просирание время обсуждать в чате ;)
Alexander
Хотя бля о чем ... щас бы просирание время обсуждать в чате ;)
Ну это одна из причин почему я рекомендую Винду. На работе работать надо, а не патчить кде под фрибсд или плясать вокруг мака м1/Брю или ещё что там у него не работает по человечески
Igor
Про апдейтсы не понял ... я месяцами не апдейчу винду что это за страшная история про то что винда ааааа обновляетя сама?
Alexander
Про апдейтсы не понял ... я месяцами не апдейчу винду что это за страшная история про то что винда ааааа обновляетя сама?
Ну смотри, если корпоратский ноут то апдейты выключать низя по полиси. Да и вроде там все сложнее и сложнее их полностью отключить. И у меня уже раза 3 апдейты в самый неподходящий момент на рабочем ноуте стартовали
Alexander
Реально с самолётом было дело, я забил, выдернул из розетки, так он мне потом час спину в рюкзаке грел
Alexander
Зимой мо и норм тема
Igor
Если пользователь не может выбрать когда обнавляться вероятнее всего и систему ему выбирать не прийдется ;) ... а если выбирора нет, зачем смотреть видео о выборе ;)
Igor
Так то игры тоже скорее всего на рабочий ноут ставить нельзя ;) поэтому плюс с играми тоже отпадает ;)
Alexander
Если пользователь не может выбрать когда обнавляться вероятнее всего и систему ему выбирать не прийдется ;) ... а если выбирора нет, зачем смотреть видео о выборе ;)
Ну потому дисклеймер в начале и есть. Но у нас на работе дают выбор Винду или мак. Но апдейты конечно не отключить
Alexander
Так то игры тоже скорее всего на рабочий ноут ставить нельзя ;) поэтому плюс с играми тоже отпадает ;)
Даже в епаме можно было игры, ты шо. Вообще запрещать ставить игры когда в офисе разливное пиво и плейстейшн было бы странно
Igor
смешно ;) ... мы за безопасность но левый софт ставить можно ....