You are given a string and 2 operators ( & , | ). Return the total number of ways in which you can evaluate to true using the given string and operator set.
Example : Input : TF Output : 1 Input : TFF Output : 2 ( T | F & F , T | F | F )
You are given a string and 2 operators ( & , | ). Return the total number of ways in which you can evaluate to true using the given string and operator set.
Example : Input : TF Output : 1 Input : TFF Output : 2 ( T | F & F , T | F | F )
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3676 |
| 2 | Kevin114514 | 3659 |
| 3 | jiangly | 3640 |
| 4 | turmax | 3450 |
| 5 | tourist | 3408 |
| 6 | strapple | 3360 |
| 7 | Um_nik | 3354 |
| 8 | squareOf105 | 3348 |
| 9 | maroonrk | 3312 |
| 10 | idontwannadothis…e | 3191 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 155 |
| 2 | nik_exists | 151 |
| 3 | maspy | 149 |
| 4 | AmShZ | 145 |
| 5 | Um_nik | 143 |
| 6 | Errichto | 139 |
| 7 | BledDest | 136 |
| 8 | adamant | 135 |
| 9 | maroonrk | 132 |
| 10 | cry | 130 |
| Name |
|---|



I have come across a problem like this before. But i dont know how to solve it using dp. Someone explain please
I will discuss it using recursion + memoization which can be easily converted to an iterative DP solution.
Let your state be where you are in the given string
i, and what is the cumulative (Prefix) answer till nowlast.Each time you can either AND this bit
s[i]or OR it withlast.After finishing all the string, if
lastis truereturn 1, elsereturn 0.So the code may be something like: Assuming that
sis the given string,memis the memoization array filled initially by-1.