I'm solving a problem in which I need to store the frequency of each digit from 0 to 9 in a bitmask.
Is it possible to do this?
If yes, then how?
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
I'm solving a problem in which I need to store the frequency of each digit from 0 to 9 in a bitmask.
Is it possible to do this?
If yes, then how?
Name |
---|
ignore
But it only stores the parity of frequency. It doesn't store numerical frequency. Actually the question is a digit dp question in which I have to count all numbers in a range which have Freq of each digit as K, where K is given. So I was thinking how to make a dp state store the frequency.
problem link please
Bitmask stores 0/1 values so it would work only to check if the frequency is 0 or more.
You can represent every frequency as a binary number, e.g. 5 = 101, and write them one by one. It will be annoying. In particular, you need to figure out what's the length of every number. If each frequency is up to 100, you need 7 bits per number because $$$100 \leq 2^7$$$. The bitmask needs a length $$$70$$$ then.
If highest frequency is F Then you can represent the number in a number system base F So, dp will look like dp[F][F][F][F][F][F][F][F][F][F]. You can compress it in dp[F^10]