Given two integers N and K, the task is to find the number of binary strings of length N having an even number of 1’s out of which less than K are consecutive.
Input: N = 4, K = 2
The possible binary strings are 0000, 0101, 1001, 1010. They all have even number of 1’s with less than 2 of them occuring consecutively.
Input: N = 3, K = 2
The possible binary strings are 000, 101. All other strings that is 001, 010, 011, 100, 110, 111 does not meet the criteria.
This problem can be solved by Dynamic Programming.
Let us consider a 3D table dp to store the solution of each subproblem, such that, dp[n][i][s] denotes the number of binary strings of length n having i consecutive 1’s and sum of 1’s = s. As it is only required to check whether the total number of 1’s is even or not we store s % 2. So, dp[n][i][s] can be calculated as follows:
- If we place 0 at the nth position, the number of 1’s remain unchanged. Hence, dp[n][i][s] = dp[n – 1][s].
- If we place 1 at the nth position, dp[n][i][s] = dp[n – 1][i + 1][(s + 1) % 2] .
- From the above two points the recurrence relation formed is given by:
Below is the implementation of the above approach:
Time Complexity: O(2*N*K)
- Count of Binary strings of length N having atmost M consecutive 1s or 0s alternatively exactly K times
- Count of binary strings of length N having equal count of 0's and 1's and count of 1's ≥ count of 0's in each prefix substring
- Count of binary strings of length N having equal count of 0's and 1's
- Count number of binary strings without consecutive 1’s : Set 2
- Count number of binary strings without consecutive 1's
- Count of binary strings of given length consisting of at least one 1
- Count number of binary strings such that there is no substring of length greater than or equal to 3 with all 1's
- Find the number of binary strings of length N with at least 3 consecutive 1s
- Count strings with consecutive 1's
- Count of sub-strings with equal consecutive 0's and 1's
- Count of same length Strings that exists lexicographically in between two given Strings
- Count of sub-strings of length n possible from the given string
- Count the number of Special Strings of a given length N
- Count ways to increase LCS length of two strings by one
- Count of non-palindromic strings of length M using given N characters
- Count of strings whose prefix match with the given string to a given length k
- Maximum count of sub-strings of length K consisting of same characters
- Count of unique palindromic strings of length X from given string
- Count of Binary Strings possible as per given conditions
- Count binary strings with twice zeros in first half
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.