Any techniques on fast bitmasking? I always hit TLE on these problems: https://www.codechef.com/JULY18B/problems/MGCSET https://www.codechef.com/JULY18B/problems/NMNMX
# | 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 | 166 |
2 | maomao90 | 163 |
2 | Um_nik | 163 |
4 | atcoder_official | 161 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | nor | 153 |
9 | Dominater069 | 153 |
Any techniques on fast bitmasking? I always hit TLE on these problems: https://www.codechef.com/JULY18B/problems/MGCSET https://www.codechef.com/JULY18B/problems/NMNMX
Name |
---|
Questions are from an ongoing contest.Please discuss after the contest.
Firstly, these are questions from an ongoing contest. Secondly, Neither of these questions have anything to do with bitmasking.
As a rule, bitmasking is not fast.
You should use it on problems where a slow solution is feasible. Here is a good example.
when the contest is done i want to discuss it with people. coz the only way i know how to solve those is just bitmasking. thank you i'll be back :D
Yeah sure
Solutions to both these problems are available on my GitHub here. Ask me if you have any doubts :)
You should use it on problems where a slow solution is feasible
Lmao. That's not a very good rule. E.g. People who use such rules won't be able to solve bitmask dp problems.
You know what? Only beginners come up with such rules. There should be no limitation to what you should/can use bitmask on. Problem solving by itself is a creative process after all.
Bitmasking by definition takes O(2^n) complexity at least. Naturally, it would only be useful when the constraints are small.
Of course, if you have a situation where the complexity of bitmasking is only polynomial for some reason, then you can apply it there as well. But how can you apply an exponential algorithm on a problem with huge constraints ?
And bitmasking isn't the intended solution for either of the problems presented here. :)
The thing is, we cannot rule out the fact that we can use bitmasking just by looking at the constraints (considering problems in general). Sometimes, after decomposing/massaging the problem, you might discover that a subproblem can be solved using bitmasking (e.g. a yes/no binary search problem where the verification step allows you to use brute force). So it is a bad habit to say that "this algorithm is not suitable" just because of the large constraints of a problem.
Bitmasking by definition takes O(2^n) complexity at least
That doesn't mean that bitmasking is useless/bad (in general). It depends on what your parameter n is.
Okay. Thanks :).