I was reading "Using Tries" on topcoder and so tried to solve MORSE I think it requires Trie and DP. I have implemented a trie but I have not figured out the DP for this case. Can someone please explain me the DP approach ? Thanks.
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 165 |
2 | maomao90 | 164 |
3 | Um_nik | 163 |
4 | atcoder_official | 161 |
5 | adamant | 160 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | nor | 153 |
9 | Dominater069 | 153 |
I was reading "Using Tries" on topcoder and so tried to solve MORSE I think it requires Trie and DP. I have implemented a trie but I have not figured out the DP for this case. Can someone please explain me the DP approach ? Thanks.
Name |
---|
also, before
return res;
there should beif (isValidWord(trieNode) res += D(pos, rootNode);
@Alias: could you please tell me what does NextTrieNodeByLetter() return? if you could explain the approach it would be very helpful
NextTrieNodeByLetter() returns -1 if node trieNode has no edge marked with letter i or corresponding next node. It makes a try to go from node trieNode using letter i. I do not know what else I can say.
morse[] — array of morse strings. A trie is builded from dictionary words.
In my solution dp[i] was number of ways that we can translate an string starting from i-th place of morse string to end of it.