Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

НОД с изменением элемента

(Время: 1 сек. Память: 32 Мб Сложность: 54%)

Требуется реализовать эффективную структуру данных, позволяющую изменять элементы массива A[1..N] и вычислять наибольший общий делитель (НОД) для элементов отрезка [L, R].

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

Первая строка входного файла INPUT.TXT содержит натуральное число N – размер массива (N ≤ 105). Во второй строке записаны N натуральных чисел – элементы массива, целые числа, не превосходящие 109. Третья строка содержит натуральное число M – количество запросов (M ≤ 30 000). Каждая из следующих M строк представляет собой описание запроса. Сначала вводится одна буква, кодирующая вид запроса («g» – вычислить НОД, «u» – обновить значение элемента). Следом за «g» идут два числа L и R – номера левой и правой границы отрезка. Следом за «u» записаны два числа I и X – номер элемента и его новое значение, не превосходящее 109 (1 ≤ L ≤ R ≤ N, 1 ≤ I ≤ N).

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

В выходной файл OUTPUT.TXT для каждого запроса на вычисление НОД выведите результат. Все числа следует выводить в одну строку, разделяя пробелом.

Пример

INPUT.TXTOUTPUT.TXT
15
2 8 4 16 12
5
g 1 5
g 4 5
u 3 32
g 2 5
g 3 3
2 4 4 32

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 ЕГЭ по информатике
 Тренировочные олимпиады
 Введение
 Целочисленная арифметика
 Алгоритмы сортировки
 Длинная арифметика
 C++ Standard Template Library
 Динамическое программирование
 Комбинаторика
 Вычислительная геометрия
 Строки
 Структуры данных
 Теория графов - 1
 Теория графов - 2
 Статический RSQ
 Sqrt-декомпозиция
 Дерево Фенвика
 Статический RMQ
 Дерево отрезков
 A. НОД на отрезках
 B. RSQ с изменением элемента
 C. RMQ с изменением элемента
 D. НОД с изменением элемента
 E. Range Maximum Query
 F. Дерево с изменением отрезка

Красноярский краевой Дворец пионеров, (c)2006 - 2025, ИНН 246305493507, E-mail: admin@acmp.ru