• Как купить книгу если на территории моей страны она не продается из-за авторских прав?

    @rPman
    эта?
    попробуй через vpn из приватной вкладки зарегистрировать аккаунт и оплатить через виртуальную visa какого-нибудь посредника типа bankoff (такие с мелкими суммами работают даже без верификации)

    p.s. как получишь цифровую копию, всеми силами ее вытаскивай с аккаунта на компьютер, хоть скринами с экрана
    Ответ написан
    2 комментария
  • Почему моё решение данной задачи неправильное?

    Alexandroppolus
    @Alexandroppolus
    кодир
    В твоем решении x2 и x3 должны быть простыми числами, причем x2 >= 1+d, x3 >= x2+d.

    Ну и весь прикол задачи - найти два таких простых числа. Скорее всего, надо предварительно построить таблицу с набором простых чисел. Это либо отсортированный массив оных, где можно искать двоичным поиском, либо массив, где a[i] = (минимальное простое, большее или равное i), с поиском за O(1). В любом случае, максимальное простое число, которое тебе вообще может понадобится, не больше чем 20200, так что много байтов это дело не займет. Ну и само собой, для создания подобного словаря можно воспользоваться решетом Эратосфена или чем-то подобным.
    Ответ написан
    1 комментарий
  • Почему моё решение данной задачи неправильное?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    28 тут не подходит, потому что надо что бы у числа было хотя бы 4 делителя и все делители отличались хотя бы на d.

    У 28 шесть делителей (1, 2, 4, 7, 14, 28). Среди них есть делители 1 и 2, которые отличаются меньше чем на d=3.
    Ответ написан
    1 комментарий
  • В чем моя ошибка в задаче?

    Alexandroppolus
    @Alexandroppolus
    кодир
    тут на самом деле всё просто
    1) проверить, что все символы равны с, если да, то 0
    2) проверить символы на позициях [n/2 ... n], то есть из второй половины. Если там есть x, символ на котором равен c, то его и берем - не него ничего больше не делится от 1 до n. А если такого символа не нашлось, то остальное смотреть бесполезно - для любого x из первой половины интервала найдется m*x из второй. И в этом случае возвращаемся к вышеупомянутой стратегии: n, n-1
    Ответ написан
    1 комментарий
  • В чем моя ошибка в задаче?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    У вас правильная идея, что двух чисел в ответе всегда достаточно. Всегда можно выдать, например, n, n-1 и эти две операции покроют все позиции с 1 по n.

    Но вот случай, когда достаточно одного числа вы неправильно разобрали. Почему вы ищите самое большое простое число? Какой вообще смысл смотреть, что в позиции ans-1 стоит c?

    А еще ваш код выводит 0 неверно иногда.

    Вы, может, задачу неправильно поняли? Надо сделать так, что бы все позиции, в которых символы отличные от c, не делились бы на хотя бы одно число в вашем ответе.
    Ответ написан
    1 комментарий
  • Почему решение задачи неправильное?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Навскидку видится простое решение:
    1) построить из строки p копилку - сколько есть каких букв. Это будет обычный массив, причем количество символов c равно stor[(int)c - (int)'a'], прочитать и поменять можно за О(1)
    2) параллельно пройтись по строкам s и t. Пусть pS и pT - текущие индексы в этих строках соответственно. На каждой итерации, если s[pS] == t[pT], увеличить оба индекса, иначе, если stor[(int)t[pT]] > 0, сделать stor[(int)t[pT]]-- и pT++. Если прошли обе строки, то YES, иначе NO.

    Должно отработать за O(N).
    Ответ написан
    1 комментарий
  • Почему решение задачи неправильное?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    is_subsequence написана с ошибкой. Что у вас там за алгоритм? Почему вы считатете, что оно должно работать?

    Оно, например, не работает на тесте s="abc" t="zzzzzcba". Ваша реализация скажет, что abc является подпоследовательностью, хотя на самом деле - нет.

    Еще хочется отдельно привлечь внимание к гениальности кода:
    if (is_sub)
            return true;
        else
            return false;


    Он кажется мне немного перемудренным.
    Ответ написан
    1 комментарий
  • Где нужно вычисление выпукло оболочки?

    LoliDeveloper
    @LoliDeveloper
    Линейная алгебра как смысл жизни
    В играх например. У вас есть очень сложная фигура и для обработки коллизии вы вместо потной обработки всей фигуры обрабатываете только её выпуклую оболочку и экономите ресурсы.
    Обычно ведь как делают. Сначала проверяют коллизии с кубом, в котором лежит ваша фигура, потом выпуклую оболочку, и только потом мельчайшие детали. Это ОЧЕНЬ экономит расчёты.
    Ответ написан
    Комментировать
  • Почему не работает часть программы?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Да у вас непонимание базового синтаксиса. Нельзя делать свитч по нескольким переменным сразу. Там у вас запятая - это оператор, котоый возвращает последний элемент. Также в ифах.
    Ответ написан
    4 комментария
  • Как он это "заметил"?

    @12rbah
    Как он заметил эту формулу?

    Ну на самом деле некоторые формулы можно вывести самостоятельно, если предполагаешь, что некоторые числа имеют связь.
    В школе как-то подумал, что квадраты натуральных чисел связаны друг с другом, в итоге получил, такую закономерность
    1 = 1
    1 + 3 = 4 (2^2)
    1 + 3 + 5 = 9(3^2)
    1 +... 7 = 16
    1 +... 7+9 = 25
    1 +... 7+9+11 = 36
    ...
    думаю дальше понятно, например через эту формулу можно проверить есть ли целочисленный квадрат у числа (хотя я бы так делать не с)

    Потом я конечно прочитал, что эту закономерность давно нашли, но само понимание того, как выводят формулы/закономерности у меня осталось. Если кратко, то выделяешь предметную область, предполагаешь, что между значениями есть какая-то связь, а дальше уже применяешь свои гипотезы и ищешь решение.
    Ответ написан
    1 комментарий
  • Как он это "заметил"?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    вам повезло попасть на довольно известный математический баян
    Ответ написан
    Комментировать
  • Как он это "заметил"?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Ну, это известная формула - количество пар среди n объектов. Для самого левого подходит n-1 правых концов. Для второго - их будет n-2. Для последнего - 0. Сумма (n-1)+(n-2)+...+1+0 = (n-1)n/2. Можно через сумму арифметической прогрессии получить.
    Ответ написан
    1 комментарий
  • Как составить резюме для стажировки?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    английский intermediate разговорный, или по онлайн-тестам?
    Есть практика разговорного?

    Более менее знаю с++, знаю основные алгоритмы и структуры данных, английский ~ intermediate.

    Этого совершенно недостаточно. Это вообще ни о чем.

    В крупных международных компаниях на стажировку отбирают тех, кто по знаниям уже уверенный джуниор и выше, и просто может не иметь опыт работы в крупных проектах. Но у него уже должны быть свои наработки, свои проекты, которые он написал и реализовал. Например победа в олимпиадах может дать хороший плюс, но скорее не сам факт, а навыки.

    В мелких международных компаниях стажировки обычно нет.

    Стажировка - это вообще просто обычная работа, но для тех, кто еще параллельно учится. То есть часто со сниженной ЗП.
    Ответ написан
    4 комментария
  • Как составить резюме для стажировки?

    @12rbah
    Хочу на стажировку в международную it компанию.
    Вот вариант, который похож на стажировку summer of code от google, хз как там с резюме, но по вопросам, котоыре вы задаете, вам думаю еще рано туда, через год мб (как раз подготовитесь, выберите язык, направление). Вот серия статей правда они за 2012, но полезные рекомендации там есть https://habr.com/ru/post/149789/.
    Ну как вариант еще я знаю компанию nix они проводят удаленные курсы(бесплатные если что) и по их завершении есть вероятность устроиться, но подробностей не знаю.
    нет локальных перспектив в обозримом будущем
    Сейчас же вроде даже в маленьких городах (ну от 200к точно) есть местные it комапании.

    По поводу резюме, его в случае стажировки стоит делать под конкретную компанию, т.к. возиться просто так с вами вряд ли захотят.
    Ответ написан
    1 комментарий
  • Что делает эта инструкция?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Создается вектор tmp с копированием туда куска контейнера bufот left до right включительно
    Ответ написан
    1 комментарий
  • Найдена опасная уязвимость в очень популярном мобильном приложении. Что делать?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Внимание! Изменился адрес почты!
    и учечка данных пользователей может обойтись сервису 100.......000$-ми убытками

    Может. Но (тебе) лучше, чтобы об этом сообщил кто-нибудь другой. Потому что скорее всего, тебя же и обвинят во взломе и хищении.
    Обращаться стоит только в том случае, если у сервиса есть программа по исправлению ошибок ("bugs bounty"), если же нет, а аппликуха популярная - лучше перестать пользоваться, застраховаться и не лезть, ну или сообщить с левого одноразового мейла.
    А что до вознаграждения - вот что пишет классик, Иван наш Андреевич Крылов
    Ответ написан
    Комментировать
  • Какой проект выбрать?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Чтобы получить строчку в резюме, надо выйти на работу. Всё остальное не будет иметь ни малейшей ценности.
    Ответ написан
    Комментировать
  • Какой проект выбрать?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Мне нужно получить опыт и строчку в резюме. Знаю основы с++.

    Click
    Ответ написан
    3 комментария
  • Как решить данное уравнение?

    Lynn
    @Lynn
    nginx, js, css
    Обычно такие задачи решаются стандартными рассуждениями. Например в этой задаче очевидно x=1, так как иначе произведение будет точно больше 8000.

    Также z = 2 или 8 (что бы произведение оканчивалось на 4). Но 2 не подходит т.к. 12*4y2 < 7344. Значит z = 8.

    Y находим как 7344/18=408 => y = 0
    Ответ написан
    1 комментарий
  • Округление при целочисленном делении, как понять?

    @galaxy
    Если n не делится на k, то ⌈n/k⌉ = ⌊n/k + 1⌋ = ⌊(n+k)/k⌋
    Единица отнимается, чтобы захватить случай n, делящегося на k (при k > 1 на первый случай это не повлияет)
    Ответ написан
    1 комментарий