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

Автор skpro19, история, 8 лет назад, По-английски

I am unable to solve the Problem B Large and problem C small and large.

Any help would be much appreciated.

Thanks!

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

»
8 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

For Problem B Large:

We need to make use of the property: i^a % k = (i + k)^a % k

So e.g., 2^5 % 7 = (2 + 7)^5 % 7 = (2 + 2*7)^5 % 7 = (2 + 3*7)^5 % 7 = ... and so on.
So we only need to iterate from 1 till k.
So iterate from 1 to k and find all the modulo the respective numbers give with A and B. Store the count of numbers in an array, where index is the modulo and value is the total numbers who give that modulo. Then finally iterate over the array and for all i find the value of k - i index and these will be the pair count we are looking for. To exclude same numbers as specified in the problem, use a map or something similar which maintains the record of how many same numbers could possibly contribute to the final answer. Subtract them.

»
8 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

I think you need to use dynamic programming, for problem C.