Блог пользователя Madiyar

Автор Madiyar, 14 лет назад, По-русски
kak mojno reshit zadachu C(interaktivnaya) i zadachu G? 
  • Проголосовать: нравится
  • +9
  • Проголосовать: не нравится

14 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится

Задача G.

1) заполним матрицу целыми числами по порядку первая строка, вторая строка и т.д.

2) выполним заданное преобразование, и посчитаем в массиве B для каждого числа сколько раз оно выписалось

3) запишем все числа из матрицы в массив A в том порядке, в котором мы заполняли матрицу

На шаге 3 мы получили перестановку чисел соответствующую одному преобразованию. нужно возвести эту перестановку в степень k. возвести перестановку в степень можно выделяя циклы, и для каждого цикла выполнять возведение в степень отдельно. рядом с этими действями нужно пересчитывать информацию о том, сколько раз какое число выписалось.

Нужно еще додумать как пересчитывать числа из массива B. Но в целом идею решения я описал,  

На контесте кое-кто смог вогнать бинарное возведение в степень (Exponentiation by squaring), хотя авторы предполагали решение за O(n)