Fzu2109 Mountain Number 数位dp
2016-01-24 20:33
204 查看
Accept: 189 Submit: 461
Time Limit: 1000 mSec Memory Limit : 32768 KB
#include <cstdio> #include <cstring> #include <iostream> using namespace std; typedef long long ll; int bits[20]; ll dp[20][15][2][2]; ll dfs(int pos, int pre, int iso, int doing) { if(pos == -1) return 1; int End = doing ? bits[pos] : 9; ll& ans = dp[pos][pre][iso][doing]; if(ans != -1) return ans; ans = 0; for(int i = 0; i <= End; ++i) { if(iso && i <= pre) ans += dfs(pos - 1, i, 0, doing && i == End); else if(!iso && i >= pre) ans += dfs(pos - 1, i, 1, doing && i == End); } return ans; } ll calc(ll x) { int ls = 0; memset(dp, -1, sizeof dp); while(x) { bits[ls++] = x % 10; x /= 10; } return dfs(ls - 1, 9, 1, 1); } int main() { ll n, m; int _; cin >> _; while(_ --) { cin >> n >> m; cout << calc(m) - calc(n - 1) << endl; } return 0; }
View Code
相关文章推荐
- hdu 1039 Easier Done Than Said?
- wait3,wait4 用法
- Fragments的生命周期 (转载:http://blog.csdn.net/t12x3456/article/details/8104531)
- Ubuntu 15.04 Rails4.2.5 处理异常
- SSIS: RetainSameConnection 属性。
- 深度学习发展简史-推动人工智能的梦想
- 正则表达式(一个字符串翻转的例子)(http://www.cnblogs.com/hai98)
- 正则表达式基础(http://www.cnblogs.com/hai98)
- RAID技术介绍和总结
- 如何画人脑?
- LightOJ 1076 - Get the Containers
- DP------Climbing Stairs
- HDU 1039 Easier Done Than Said?
- YTU 1011: Rails
- 深度理解链式前向星 http://blog.csdn.net/acdreamers/article/details/16902023
- teradata EXPLAIN 读懂关键字--读懂执行计划
- scala trait 另一种用法类混入
- 如何在.net4.0中使用.net4.5的async/await实现异步
- NSSearchPathDomainMask 详解
- JetBrains 系列软件