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

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

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

Задача G.

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

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

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

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

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

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