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

Переполнение по времени на больших тестах - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему код не работает? http://www.cyberforum.ru/cpp-beginners/thread603346.html
#include <iostream> using namespace std; unsigned long double* remove(unsigned long double* Arr, size_t* Size) { if (Arr == NULL) return Arr; unsigned long double prfNums = {6,28,496,8128,33550336,8589869056,137438691328}; unsigned long double tmpArr = {0};
C++ Есть ли среди трех чисел хотя бы одна пара равных между собой Даны три действительных числа a, b з. Определить, есть ли среди них хотя бы одна пара равных между собой чисел http://www.cyberforum.ru/cpp-beginners/thread603344.html
функция удаления группы одинаковых чисел из списка C++
с использованием односвязных линейных списков LIST *del_group_element(LIST *lst) { LIST *p1=lst,*p2=p1->next, *p3=p2->next, *prev=lst; int l=0; while (p1) {
В линейном динамическом массиве уничтожить все совершенные числа C++
В линейном динамическом массиве уничтожить все совершенные числа. Совершенное число (сумма делителей = самому числу) Например 6 = 1 +2 +3 #include "stdafx.h" #include <iostream> using namespace std; bool isPerfect(unsigned __int64 uiVal) { unsigned __int64 uiSum = 0;
C++ Поменять первую и последнюю цифры в числе. http://www.cyberforum.ru/cpp-beginners/thread603304.html
Нужна помощь в решение задачи. Дано число n. Как поменять первую и последнюю цифры.
C++ struct (с++) Кто может написать полный синтаксис структуры. Чем отличается структура от класса ? Всем ответившим высказываю свою благодарность. подробнее

Показать сообщение отдельно
Tattoo-master
2 / 2 / 0
Регистрация: 11.11.2010
Сообщений: 9
12.06.2012, 11:23     Переполнение по времени на больших тестах
Максимальное время работы на одном тесте:

1 секунда

Максимальный объем используемой памяти:

64 мегабайт

Слово называется палиндромом, если его первая буква совпадает с последней, вторая – с предпоследней и т.д. Например: "abba", "madam", "x".
Для заданного числа K слово называется почти палиндромом, если в нем можно изменить не более K любых букв так, чтобы получился палиндром. Например, при K = 2 слова "reactor", "kolobok", "madam" являются почти палиндромами (подчеркнуты буквы, заменой которых можно получить палиндром).
Подсловом данного слова являются все слова, получающиеся путем вычеркивания из данного нескольких (возможно, одной или нуля) первых букв и нескольких последних. Например, подсловами слова "cat" являются слова "c", "a", "t", "ca", "at" и само слово "cat" (а "ct" подсловом слова "cat" не является).
Требуется для данного числа K определить, сколько подслов данного слова S являются почти палиндромами.
Формат входных данных
В первой строке вводятся два натуральных числа: N (1 ≤ N ≤ 5 000) – длина слова и K (0 ≤ K ≤ N).
Во второй строке содержится слово S, состоящее из N строчных латинских букв.
Формат выходных данных
Требуется вывести одно число – количество подслов слова S, являющихся почти палиндромами (для данного K).
Примеры
Входные данные

Выходные данные

5 1
abcde
12

3 3
aaa
6


Сколько пытался и так и так, выдает переполнение по времени на больших тестах. Помогите с алгоритмом, пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru