存一个数位dp的模板
来源:互联网 发布:平野绫事件 知乎 编辑:程序博客网 时间:2024/05/21 14:47
记忆化搜索解数位dp方便快捷见效快。。。。
const int MAX_DIGITS, MAX_STATUS;LL f[MAX_DIGITS][MAX_STATUS], bits[MAX_DIGITS];LL dfs(int position, int status, bool limit, bool first){ if (position == -1) return s == target_status; if (!limit && !first && ~f[position][status]) return f[position][status]; int u = limit ? bits[position] : MAX_BITS; LL ret = 0; for (int i = 0; i <= u; i++) { ret += dfs(position - 1, next_status(status, i), limit && i == u, first && !i); } return limit || first ? ret : f[pos][status] = ret;}LL calc(LL n){ CLR(f, -1); int len = 0; while (n) { bits[len++] = n % 10; n /= 10; } return dfs(len - 1, 0, true, true);}int main(){ //freopen("0.txt", "r", stdin); LL a, b; while (cin >> a >> b) cout << calc(b) - calc(a - 1) << endl; return 0;}
0 0
- 存一个数位dp的模板
- 一个数位dp的题目
- 数位dp模板
- 数位DP模板
- 数位DP模板
- 数位DP模板
- 【自用模板】数位dp
- 数位DP模板
- 数位DP模板
- 数位DP模板详解
- 数位DP模板
- 数位DP模板
- 数位DP模板
- 数位DP模板
- 数位DP(模板)
- 数位DP模板
- 数位DP模板
- 数位DP模板
- 常见的23种设计模式,你知道多少?
- 黑马程序员--c语言-排序
- 如何使用Python实现进程间通信
- css实现多行文本溢出显示省略号(…)全攻略
- Bootstrap-栅格系统
- 存一个数位dp的模板
- NYOJ305 表达式求值(递归or栈)
- python学习(一):画幅好画
- php使用pdo或mysqli查询
- 《Redis设计与实现》学习笔记-持久化机制
- 【黑马程序员】iOS学习之路——Objective-C之特有语法
- 【JavaScript】无须利用ID,一个仅靠父子节点实现的即时编辑框
- Linux显示内存统计最大和最小的详情
- 构造一个简单的Linux系统MenuOS,使用gdb调试内核