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

Динамическое программирование: самая длинная строго возрастающая подпоследовательность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Std::thread автоматическая многопоточность http://www.cyberforum.ru/cpp-beginners/thread1311270.html
Есть данный пример создания массива thread и инициализации его в цикле. #include<iostream> #include<sstream> #include<thread> using namespace std; class printId { public: void operator()() { ostringstream out;
C++ Скопировать в текстовой файл слова содержащие символ 'C' Дан символ C — строчная (маленькая) латинская буква и текстовый файл. Создать строковый файл и записать в него все слова из исходного файла, содержащие хотя бы одну букву C (прописную или строчную). Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки. Если исходный файл не содержит подходящих слов, то... http://www.cyberforum.ru/cpp-beginners/thread1311264.html
C++ Как ускорить пирамидальную сортировку?
Второй цикл for в пирамидальной сортировке можно было бы сократить, добавив условие завершения i > 3. Следует ли добавить после этого цикл, и если да, то что, для того, чтобы конечный список как и раньше был отсортированным? Приводят ли подобные изменения к уменьшению числа сравнений?
Написать программу: Определить разность между наибольшей и наименьшей цифрами натурального числа C++
Напишите код. Определить разность между наибольшей и наименьшей цифрами натурального числа N, представленного в шестиричной системе счисления.
C++ Написать программу: могут ли три числа быть длинами сторон треугольника? http://www.cyberforum.ru/cpp-beginners/thread1311253.html
Решите эту задачу: даны три числа если они могут быть длинами сторон равнобедренного тупоугольного треугольника, то вычислите его площадь. Выведите длины сторон и площадь в порядке возрастания значений.
C++ Rnunif() Не могу ничего найти про эту процедуру. Кто-нибудь может подсказать, что она делает и с ккими параметрами работает? подробнее

Показать сообщение отдельно
Fallenworld
76 / 76 / 9
Регистрация: 14.04.2014
Сообщений: 408
29.11.2014, 13:30     Динамическое программирование: самая длинная строго возрастающая подпоследовательность
Цитата Сообщение от SlavaSSU Посмотреть сообщение
Fallenworld, последовательность такая например:
98, 99, 100, 1, 2, 3, ... , 97.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <vector>
 
using namespace std;
int main(){
int N[11]{97,98,99,95,96,34,35,36,37,38,100};
 
 
vector<vector<int> > podposlovatelnosti(1);
(podposlovatelnosti.back()).push_back(N[0]);
bool newPodposl(true);
for(int i=1; i<11; ++i){
 
    for(int j=0; j < podposlovatelnosti.size(); ++j)
        if(N[i]>podposlovatelnosti[j].back()){
                podposlovatelnosti[j].push_back(N[i]);
                newPodposl  = false;
                }
    if(newPodposl) podposlovatelnosti.push_back(vector<int>{N[i]});
    newPodposl = true;
 
 
}
int max(0), num(0);
for(int i=0; i<podposlovatelnosti.size(); ++i)
    if(max<podposlovatelnosti[i].size()){
        max = podposlovatelnosti[i].size();
        num = i;
        }
for(int i=0; i<podposlovatelnosti[num].size(); ++i) cout<<(podposlovatelnosti[num])[i]<<"  ";
return 0;
 
}
а так?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru