AcWing 数位DP相关问题
皓首不倦
算法爱好者 码农一枚 欢迎志同道合 技术爱好者加微信CODER-GRH 非技术人员勿扰
展开
-
ACWing 数位DP相关问题 1086. 恨7不成妻
import sys sys.stdin = open('data.txt', 'r') MOD = 1000000007 # 小于等于n的所有数字的平方和 def get_sum(n): if n == 0: return 0, 0, 0 arr = [] val = n while val: arr.append(val % 10) val //= 10 # 前i个位置做选择,选择出的数字要求数位总和模7不等.原创 2020-08-02 21:23:07 · 179 阅读 · 0 评论 -
AcWing 数位DP相关问题 1085. 不要62
import sys sys.stdin = open('data.txt', 'r') def get_num(n): if n <= 0: return 1 # 统一把1算进答案里面,相减就抵消掉了 arr = [] val = n while val: arr.append(val % 10) val //= 10 from functools import lru_cache @lr..原创 2020-08-02 21:21:25 · 128 阅读 · 0 评论 -
AcWing 数位DP相关问题 1084. 数字游戏 II
import sys sys.stdin = open('data.txt', 'r') def get_num(n, N): if n == 0: return 1 arr = [] val = n while val: arr.append(val % 10) val //= 10 # 前i个位置填写数值,所有数值和mod N = mod_val且前前面所有数位都取最大值的标记为all_higher_max.原创 2020-08-02 21:20:15 · 186 阅读 · 0 评论 -
AcWing 数位DP相关问题 1083. Windy数
import sys sys.stdin = open('data.txt', 'r') # 小于等于n的合法的数值个数 def get_num(n): if n == 0: return 0 arr = [] val = n while val: arr.append(val % 10) val //= 10 # 前i位做选择,合法的数值个数 # 约束条件:更高的一位选择数值是higher_va...原创 2020-08-02 21:19:19 · 259 阅读 · 0 评论 -
AcWing 数位DP相关问题 1082. 数字游戏
import sys from functools import lru_cache sys.stdin = open('data.txt', 'r') # 小于等于n的符合条件的数字个数 def get_num(n): if n == 0: return 1 arr = [] val = n while val: arr.append(val % 10) val //= 10 # 前i位做选择,更高...原创 2020-08-02 21:18:20 · 162 阅读 · 0 评论 -
AcWing 数位DP相关问题 1081. 度的数量
import sys sys.stdin = open('data.txt', 'r') sys.setrecursionlimit(999999) from functools import lru_cache @lru_cache(typed=False, maxsize=128000000) def conbination_num(n, m): if m == n: return 1 if m == 1: return n retu.原创 2020-08-02 21:16:58 · 174 阅读 · 0 评论