Good Day everyone . Can anyone please tell me the process how to solve this problem . Thanx in advance :)
# | User | Rating |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 155 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | nor | 152 |
Good Day everyone . Can anyone please tell me the process how to solve this problem . Thanx in advance :)
Name |
---|
DP with bitmasks. You can use two bitmasks, one for which numbers you have taken so far from the permutation, and the other to indicate which of these numbers are considered in the LIS. You need to update these two masks accordingly whenever you add the next number. Complexity: O(n * 3^n) since the LIS mask is always a subset of the former.
sgtlaugh thank you for your reply . I am troubling with how to do the Lis part calculation . If you kindly post a sudo code for me then it will be easy to understand :)
Basically the idea is that you store the values of the lis array in a bitmask. The lis array is the array in the standard N log N algorithm where usually binary search is used to update it.
https://ideone.com/LEOM5d