Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. ×

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

Автор omggg, 4 года назад, По-английски

I want to use hash table of key : vector and value : int How can i use that ? Map<vector< int >,int> uses extra logn factor which many a times doesn't suite me and gives TLE. I just want to store frequency of a kind of vector.

Any help is appreciated. Thanks.

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

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

You are taking vector as a key value. There is whole extra factor of n where n is the size of the vector everytime you do operations with map.

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

    That would be okay to me. Just need to make unordered_map instead of map

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

Can you give link to the problem?

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

    This is my Submission 77023902 , its easy to understand. Problem : 1225D - Power Products

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

      Hey, I solved this problem recently. Hashing the vector won't make a big difference. Try to come with another approach :)

      But if you still want to try, polynomial hashing in Robin Karp might be useful here but it will don't give correct answer in every case.

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

https://codeforces.net/blog/entry/62393?#comment-606294

You can do it by hashing the vector, but if you do that then the complexity will be $$$O(n^2/log$$$ $$$n)$$$, which is still too slow.