afatnan
Senior Member
Méo ngủ được, ngồi tìm hiểu cái digit dp, rồi cũng xong bài cuối:
Python:
class Solution:
def numberOfBeautifulIntegers(self, low: int, high: int, k: int) -> int:
@lru_cache(maxsize=None)
def solve(s: str, tight: bool = True, i: int = 0, odd: int = 0, even: int = 0, modk: int = 0, leading_zero: bool = True) -> int:
if i == len(s):
return odd == even and modk == 0
res = 0
limit = int(s[i]) if tight else 9
for j in range(limit + 1):
new_tight = tight and int(s[i]) == j
new_odd = odd + (j % 2 == 1)
new_even = even + (j % 2 == 0)
new_modk = (10 * modk + j) % k
if leading_zero and j == 0:
res += solve(s, False, i + 1, 0, 0, 0, True)
else:
res += solve(s, new_tight, i + 1, new_odd, new_even, new_modk, False)
return res
return solve(str(high)) - solve(str(low - 1))
Sửa lần cuối:


. vừa xem ca nhạc, vừa code luôn
chứ để vợ coi mấy thằng nó nhảy là chính 

cùi quá