Bogdan
Ну
Igor
откуда взяли 3000 я хз )
Bogdan
Это типо k последовательностей из x заканчивающиеся на n?
Igor
длинной к заканчивающихся на n
Igor
ну длинной максимум к заканчивающиеся максимум на n
Igor
но прикол в том что все длины хранить не нужно
Igor
можно хранить предыдущую и текущую
Igor
хотя изначально можешь эту оптимизацию не делать
Bogdan
Но
Bogdan
Начинается все с 1 так куда её правильно присвоить
Bogdan
dp[0][1]?
Igor
оно начинается со всех 1
Igor
dp[0][x] = 1 dp[x][0] = 1
Igor
у тебя первый ряд и первый столбец 1цы
Bogdan
dp[0][x] = 1 dp[x][0] = 1
То есть мы дважды присваиваем 1?
Igor
не дважды а n+k-1 %)
Bogdan
А стоп
Igor
весь первый ряд и весь перввый столбец это единицы
Bogdan
Но я не понял это в тех же циклах проходиться либо в отдельных
Igor
Инициализация в отдельном
Igor
и можно только для длинны 1 заполнить единицы
Bogdan
То есть получается первое что мы делаем это
Igor
заполняем единицы для длин последовательности 1
Igor
а потом пускаем цикл по длинне и так далее
Bogdan
for (int I=1; I<=n; i++) dp[0][I]=1;
Igor
только если ты нумеруешь с 1
Igor
то dp[1][l]
Igor
и потом с длинны 2 начинаешь заполнять
Igor
и размеры массива сделать 2001 а не 2000 потому что нулевой столбец и строку ты пропускаешь
Alexander
На случай если вы пропустили: Вчера был первый эфир - старт курса хардкор тестера. Обсудили программу курса, формат занятий, расписание. #курссдет https://youtu.be/xQOh_i9HVfw
Bogdan
то dp[1][l]
Ой да
Bogdan
и потом с длинны 2 начинаешь заполнять
То есть это ты про следующие циклы
Alexander
Чем отличается хардкор тестер от нехардкор тестера? Тестит как боженька, кодит как хацкер, умен (умна), красив (красива), успешен (успешна)
Bogdan
То есть for (int i=1<=n;I++)
Bogdan
А потом I=2?
Igor
Ну вот как циклы написать это уже и есть программирование :)
Bogdan
Ну тут как раз в циклах и задача
Bogdan
Я так понял мы перебираем сначало от 2 до конца длины
Bogdan
А потом от 2 до максимального значения?
Igor
А потом от 2 до максимального значения?
зависит от инициализации если ты инициализировал только длинну 1 то от 1 цикл до макс значения
Igor
Ты пытаешься угадать программу а тебе нужно понять что она должна делать
Bogdan
Сложно блин
Igor
Вместо всего этого мне проще написать код, как и тебе посмотреть чужой. Идея в том чтобы ты до кода дошел сам
Igor
открой эксель и начни заполнять таблицу
Igor
ты поймешь как это все работает
Bogdan
Надо избавляться от привычки смотреть код в интернете
Igor
потом это же сделай в программе
Bogdan
Надо избавляться от привычки смотреть код в интернете
Ибо из за того что я не думаю я ничему не учусь
Bogdan
Да только 2000 на 2000 заполнять в экселе это ад
Igor
Ибо из за того что я не думаю я ничему не учусь
ты заполняешь для любых значений n и k
Igor
вот я заполняю для длинны 9 и макс значения 10
Igor
когда я протягиваю формулу в конце это и есть цикл по длинне
Igor
в конце суммируем все числа это ответ
Igor
Для этого и нужен листик о котором постоянно твердит Андрий :) и если новички думают что это для лохов то нет синьоры делают так же когда пытаются понять. Это не только нормально это правильный подход. То что некоторые подобные "прогоны" вы со временем сможете делать в уме это другой вопрос. Но учиться нужно именно руками
Igor
Дальше можно оптимизировать еще но это основной проход алгоритма
Igor
Напиши для начала его
Bogdan
наоборот получается n это длина, а k максимальное значение
Bogdan
или я не так понял
Igor
наоборот получается n это длина, а k максимальное значение
У тебя есть картинки а есть задача на CF и обозначения разные :) поэтому возникает путаница
Bogdan
это одна и та же задача просто в разной формулировке
Igor
да с обратными обозначениями :) тот кто рисовал картинки долбайоп
Bogdan
это препод нам дал эту картинку
Igor
это не принципиальный момент для понимания решения какие буквы что обозначают
Bogdan
это типо что-то такого должно быть
Bogdan
а стопе
Bogdan
короче мы суммируем постоянно между собой dp[i-1][l]
Igor
Сорян на этом мои полномочия все :) я уже тебе мультик записал куда дальше то :)
Igor
Дальше только код за тебя написать
Шурок
моя тупость пробила дно
Не заморачивайся. Иногда задаче нужна смазка - время. Если ты прямо совсем застрял, отдохни пару часов (не игры только, а там позвонить кому-то, встретиться, посмотреть фильм) и вернуться к задаче через время.
Igor
Ты просто бросил думать, когда я начал решать. Перечитай все с начала и пойми что происходит.
Шурок
Недавно нашел себе новое развлечение. Отключить адблок и смотреть рекламу. Акк чистый, только для работы, поэтому реклама "общая".
Igor
Если ты будешь заполнятб руками а не програмно то легко заметить следующую оптимизацию, колво не зависит от числа, а только от того сколько у него делителей
Igor
Хотя если писать на си то на кф должен заходить по идее и без этой оптимизации
Шурок
@ikovrigin Я же пошутил ;(
Сергей
Ну вот опять плохо советуешь