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

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

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?

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

»
5 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

ignore

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

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.

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

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]