Форум программистов, компьютерный форум CyberForum.ru

Динамическое программирование - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры: база данных сотрудников фирмы http://www.cyberforum.ru/cpp-beginners/thread600927.html
Добрый вечер. Помогите пожалуйста найти ошибку в программе. Вот код: #include <stdio.h> #include <conio.h> typedef struct firm { char fam; char dolzh;
C++ Задача о рюкзаке (бесконечный выбор) Работал на C#(не очень долго) теперь вот срочно на плюсах, написал как смог! Помогите отредактировать(многих нюансов не знаю). #include "Iostream" #include "stdafx.h" namespace proect_D { class Program { http://www.cyberforum.ru/cpp-beginners/thread600925.html
C++ Метод, ошибка this
#include <iostream> #include <string> #include <fstream> class SickKoala { private: std::string name; public: std::string getName();
С++ фаил, проверка на символы C++
bool prov(char str){ int a = strlen(str); bool q = false; for (int i=0;i<a;i++) if (str!=str) q=false; else q=true; return 0; cout<< str; }
C++ Написать программу вычисления величины дохода по вкладу. http://www.cyberforum.ru/cpp-beginners/thread600914.html
Написать программу вычисления величины дохода по вкладу. Процентная ставка(% годовых) и время хранения (дней) задаются во время работы программы. Для вычисления суммы процентной ставки брать 365 дней в году. Вычисление дохода по вкладу. Величина вклада (ls):2500 Срок (дней): 30 Процентная ставка (годовых): 20 Доход: 41.10ls Сумма по окончании срока вклада: 2541.1ls ...
C++ Подключиться к процессу и производить запись в процесс Здравствуйте! Работал с процессом через ДЛЛ файл на С++, инжектил в процесс, изменял и читал память, но вот как сделать это например в C++ через *.exe? Необходимо: 1. Подключиться к процессу 2. На х32-ых системах процесс скрыт, тоесть его необходимо открыть каким-либо способом, но это сейчас не очень важно, у меня 64, но все же надо будет сделать и для 32 3. Читать память по определенному... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.06.2012, 15:28     Динамическое программирование
insolent, динамическое программирование в этой задаче не применимо (по крайней мере я точно не вижу как его применить).
Самое сложное в этой задаче попытаюсь объяснить таким примером:
есть набор кирпичей:
4
1 1
2 1
3 1
4 1
В первой строке стены есть 5 подряд идущих единиц. Чтобы бы набрать 5 единиц можно использовать два варианта: (2 и 3) или (1 и 4).
Но в следующей строке может быть: (1 отдельная единица и 4 отдельно подряд идущих единиц) или (2 отдельно подряд идущих единицы и 3 отдельно подряд идущих единицы).
Поэтому выбрав для первой строки какой-то вариант, может не получиться заполнить вторую строку (хотя на самом деле построить такую стену можно).
Я привел маленький пример. Для больших стен будет важно как укладывать кирпичи в каждом ряду. Задача пахнет перебором, а не ДП.
Я вообще переформулировал бы задачу так:
Считаем подряд идущие единицы в каждом ряду и получаем сколько каких рядов нужно набрать. Например для теста:
6 3
101101
111111
111111
Получилось бы так:
1 2// нужно набрать два ряда размером 1
2 1// нужно набрать один ряд размером 2
6 2// нужно набрать два ряда размером 6
Можно ли набрать такие ряды имея такой набор кирпичей:
3
1 4
2 6
3 1
И получается что эта задача имеет мало что общего с задачей про сдачу, а больше похожа на задачу:
http://acm.timus.ru/problem.aspx?space=1&num=1115
 
Текущее время: 07:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru