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

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

I recently encountered a problem in a contest.It was very similar to edit distance.Only difference was that we are also given cost of each of the operation insert,delete and replace .We have to find minimum cost to convert string1 to string2. This problem is fairly standard and can be solved using dynamic programming in O(n^2) time. The problem statement for Edit Distance can be found here: Problem

But the constraints given in the contest were n<=100000 so larger test cases won't pass in O(n^2). So is there any way to bring the time complexity of the solution?

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

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

You can do it in O(N * K) where N = length of the string and K = maximum possible 'distance'.

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

Probably one of algorithms could pass (where n, m are lengths of the strings and w is the size of processor word). For example, see "A Fast and Practical Bit-Vetor Algorithm for the Longest Common Subsequence Problem".

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

can you share the problem link?