В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
артbig
артbig
25.09.2022 10:14 •  Информатика

ОПРАЦЮВАННЯ ТЕКСТОВИХ ДАНИХ 17. Опишіть результат дії під час натиснення клавіші Tab у наведених випадках.
Місцеположення курсора
Результат дії
Текстовий курсор стоїть у середині
таблиці
Текстовий курсор стоїть у кінці рядка
таблиці
Текстовий курсор стоїть в останній
клітинці таблиці

Показать ответ
Ответ:
nestarenko7ozgxln
nestarenko7ozgxln
11.03.2022 13:38
Наивный алгоритм: используя два вложенных цикла, проверить все подстроки, являются ли они палиндромами. Такой алгоритм будет работать O(|S|^2), что при ограничении |S| <= 10^5 потребует примерно 10^10 / 2 сравнений, что достаточно долго.

Оптимизация: в центре у палиндрома четной длины всегда пара одинаковых символов. Их можно найти, а затем увеличивать длину до тех пор, пока это возможно. Плюс этого наблюдения в том, что если пара попадется не в центре, то максимальная длина подстроки-палиндрома с центром в этой паре, будет ограничена сверху. Однако в худшем случае (все символы одинаковы) всё равно придется произвести немалое число сравнений.

Однако задачу можно решить и за линейное время. Например, существует алгоритм Манакера, основанный на том, что можно использовать информацию, что часть строки является палиндромом. А именно, если в длинную-длинную строку-палиндром входит другая подстрока-палиндром, то можно не начинать проверку заново, а использовать уже имеющуюся информацию.

Пример 1: "длинная" подстрока-палиндром:
cbbaabbaabbc
в которой известна подстрока-палиндром. Тогда в строке есть симметричная подстрока-палиндром:
cbbaabbaabbc
Пример 2: "длинная" подстрока палиндром:
bbaabbaabbaa
Зная, что в ней есть подстрока-палиндром
bbaabbaabbaa,
можно явные сравнения для подстроки с центром в
bbaabbaabbaa
начинать уже с 
bbaabbaabbaa

Если не хочется писать самостоятельно, алгоритм Манакера легко находится.
0,0(0 оценок)
Ответ:
konstantunzayac
konstantunzayac
14.10.2022 06:48
Program pr;
uses crt;

var a,b:real;

Begin
writeln('Введите первое число');
readln(a);
writeln('Введите второе число');
readln(b);

if (a<0) and (b<0)   
    then     
       Begin       
            a:=a+2;
            b:=b+2; 
             writeln('a = ',a); 
             writeln('b = ',b); 
        end
else 
      if (a>0) and (b<0)     
        then       
           writeln('a*b = ',a*b)
      else 
           if (a<0) and (b>0)     
                then        
                   writeln('b-a = ', b-a)

           else  writeln('Ни одно условие не выполняется');

readln;
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота