Динамично програмиране

Намерете максимална дължина змийска последователност
2026

Намерете максимална дължина змийска последователност

Като се има предвид мрежа от числа, намерете максимална дължина на змийската последователност и я отпечатайте. Ако съществуват множество последователности на змии с максимална дължина, отпечатайте някой от тях.

Отпечатване на най-дългата битонична подпоследователност
2026

Отпечатване на най-дългата битонична подпоследователност

Проблемът с най-дългата битонична подпоследователност е да се намери най-дългата подпоследователност от дадена последователност, така че тя първо да се увеличава и след това да намалява. Последователност, сортирана във възходящ ред, се счита за битонична с намаляващата част като празна. По същия начин, намаляващата последователност от поръчки се счита за битонична, а нарастващата част е празна. Примери:

Намерете работни места, включени в Weighted Job Scheduling
2026

Намерете работни места, включени в Weighted Job Scheduling

Дадени са N задачи, където всяка работа е представена чрез следните три елемента от нея.1. Начален час 2. Краен час 3. Печалба или свързана стойност Намерете подмножеството от задачи, свързани с максимална печалба, така че да няма две задачи в подмножеството, които да се припокриват.

Отпечатване на нарастваща подпоследователност с максимална сума
2026

Отпечатване на нарастваща подпоследователност с максимална сума

Проблемът с нарастващата максимална сума подпоследователност е да се намери подпоследователността с максимална сума на дадена последователност, така че всички елементи на подпоследователността да са сортирани във възходящ ред.

Претеглено планиране на работата | Комплект 2 (използване на LIS)
2026

Претеглено планиране на работата | Комплект 2 (използване на LIS)

Дадени са N задачи, където всяка работа е представена чрез следните три елемента от нея.1. Начален час 2. Краен час 3. Печалба или свързана стойност Намерете подмножеството от задачи с максимална печалба, така че да няма две задачи в подмножеството да се припокриват.

Отпечатайте верига от двойки с максимална дължина
2026

Отпечатайте верига от двойки с максимална дължина

Дадени са ви n двойки числа. Във всяка двойка първото число винаги е по-малко от второто число. Една двойка (c, d) може да следва друга двойка (a, b), ако b < c. По този начин може да се образува верига от двойки. Намерете най-дългата верига, която може да се образува от даден набор от двойки. Примери:

Намерете всички комбинации от k-битови числа с n бита, където 1  <= n  <= k в сортиран ред
2026

Намерете всички комбинации от k-битови числа с n бита, където 1 <= n <= k в сортиран ред

Дадено е число k, намерете всички възможни комбинации от k-битови числа с n-бита, където 1 <= n <= k. Решението трябва първо да отпечата всички числа с един зададен бит, последвани от числа с два зададени бита, .. до числата, чиито всички k-битове са зададени. Ако две числа имат еднакъв брой зададени битове, тогава по-малкото число трябва да е първо. Примери:

Минимална цена за създаване на два идентични низа
2026

Минимална цена за създаване на два идентични низа

Дадени са два низа X и Y и две стойности costX и costY. Трябва да намерим минималната цена, необходима, за да направим дадените два низа идентични. Можем да изтрием знаци и от двата низа. Цената за изтриване на символ от низ X е costX, а от Y е costY. Цената за премахване на всички знаци от низ е същата.

Минимална цена за пълнене на дадено тегло в една торба
2026

Минимална цена за пълнене на дадено тегло в една торба

Дадена ви е торба с размер W kg и са ви предоставени разходи за пакети с различно тегло портокали в масив cost[], където cost[i] е основно цената на 'i' kg пакет портокали. Където цена[i] = -1 означава, че 'i' kg пакет портокал не е наличен Намерете минималната обща цена за закупуване на точно W kg портокали и ако не е възможно да купите точно W kg портокали, отпечатайте -1. Може да се приеме, че има безкрайно количество от всички налични типове пакети. Забележка: масивът започва от индекс 1.

Път с максимална средна стойност
2026

Път с максимална средна стойност

Дадена е квадратна матрица с размер N*N, където всяка клетка е свързана с конкретна цена. Пътеката се дефинира като специфична последователност от клетки, която започва от горната лява клетка и се движи само надясно или надолу и завършва в долната дясна клетка. Искаме да намерим път с максимална средна стойност за всички съществуващи пътища. Средната стойност се изчислява като общата цена, разделена на броя клетки, посетени в пътя.

Максимален сбор от двойки със специфична разлика
2026

Максимален сбор от двойки със специфична разлика

Даден е масив от цели числа и число k. Можем да сдвоим две числа от масива, ако разликата между тях е строго по-малка от k. Задачата е да се намери максималната възможна сума от несвързани двойки. Сумата от P двойки е сумата от всички 2P числа двойки.

Проблем със сдвояването на приятели
2026

Проблем със сдвояването на приятели

Имайки n приятели, всеки може да остане сам или може да се свърже с друг приятел. Всеки приятел може да бъде сдвоен само веднъж. Разберете общия брой начини, по които приятелите могат да останат необвързани или да се сдвоят.

Път на минимална сума в 3-D масив
2026

Път на минимална сума в 3-D масив

При даден 3-D масив arr[l][m][n], задачата е да се намери минималната сума на пътя от първата клетка на масива до последната клетка на масива. Можем да преминем само към съседен елемент, т.е. от дадена клетка (i, j, k), клетките (i+1, j, k), (i, j+1, k) и (i, j, k+1) могат да бъдат преминати, диагоналното преминаване не е разрешено. Можем да приемем, че всички разходи са положителни цели числа.