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

Наибольшая возрастающая подпоследовательность за O(NlogN) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать класс определяющий обьем параллелепипеда http://www.cyberforum.ru/cpp-beginners/thread1193438.html
Добрый день, помогите Создать класс определяющий обьем параллелепипеда.
C++ Вычислить числитель и знаменатель несократимой формы числа Дано неотрицательное целое число n. Вычислить числитель и знаменатель несократимой формы числа v n . ( Определить процедуры полного сокращения рационального числа, заданного числителями знаменателем, а также процедуры сложения и умножения рациональных чисел. http://www.cyberforum.ru/cpp-beginners/thread1193431.html
C++ Бесконечная последовательность рациональных чисел v0, v1 , . образована по следующему закону :
Описание задачи необходимо вставлять в текстовом виде Бесконечная последовательность рациональных чисел v0, v1 , ... образована по следующему закону :
Найти сочетание символов после другого сочетания символов C++
Доброго времени суток. Не могу придумать, как решить вот какую задачу: Есть построчный поиск по файлу. Нужно найти сочетание символов, которые идут после других символов "length ". То есть, в каждой строчке есть сочетание типа этого: length 1460. Как найти "1460" и сделать данную переменную целочисленной. Внимание: цифры после length в каждой строчке разные. Может быть я не очень ясно...
C++ Undefined reference при создании объекта http://www.cyberforum.ru/cpp-beginners/thread1193380.html
Есть класс Engine и функция для его инициализации - CreateEngine при попытке создать объект с помощью Engine *engine = CreateEngine("Engine") происходит Undefined reference to CreateEngine(std::string, int, int) class Engine { public: Engine(EngineConfig *config); Engine(const Engine& orig); void Init(); virtual ~Engine(); private: SDL_DisplayMode *displayMode;
C++ Дана целочисленная прямоугольная матрица. Определить: 1) количество столбцов, содержащих хотя бы один нулевой элемент 2) номер строки, в которой находится самая длинная серия одинаковых элементов подробнее

Показать сообщение отдельно
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1

Наибольшая возрастающая подпоследовательность за O(NlogN) - C++

30.05.2014, 10:52. Просмотров 857. Ответов 4
Метки (Все метки)

Здравствуйте! Вот тут написал код НВП за О(NlogN).Но на тестирующей системе он выдает на тесты некоторые неправильные ответы.Тестов я получить не могу, а все мои тесты он проходит.

Вот код:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <utility>
#include <stack>
 
using namespace std;
typedef long long ll;
 
const ll maxn = 10009;
vector<ll> a(maxn, 0), t(maxn, maxn), p(maxn, 0), pr(maxn, 0);
ll n;
stack<ll> q;
 
 
void test()
{
    cin >> n;
    for (ll i = 1; i <= n; ++i)
        cin >> a[i];
    t[0] = -maxn;
    for (ll i = 1; i <= n; ++i)
    {
        ll j = upper_bound(t.begin(), t.begin() + n + 1, a[i]) - t.begin();
        if (a[i]<t[j] && a[i] > t[j - 1])
        {
            t[j] = a[i];
            p[j] = i;
            pr[i] = p[j - 1];
        }
    }
    ll ind = lower_bound(t.begin(), t.begin() + n + 1, maxn) - t.begin()-1;
    cout<<ind<<endl;
    ind = p[ind];
    while (ind)
    {
        q.push(ind);
        ind = pr[ind];
    }
    while (!q.empty())
    {
        cout << a[q.top()] << ' '; q.pop();
    }
}
 
int main()
{
    //ios_base::sync_with_stdio(0);
    test();
    return 0;
}
В чём ошибка тут быть может?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru