HDU3555(数位DP)
来源:互联网 发布:苹果软件中文字体 编辑:程序博客网 时间:2024/06/05 10:31
题意:求区间[a,b],包含49的数有多少,这题只需把hdu2089稍微改下就行;
#include <iostream>#include <cstdio>using namespace std;typedef long long LL;LL dp[100][100];void init(){ dp[0][0] = 1; for(int i = 1; i <= 20; i++) for(int j = 0; j < 10; j++) for(int k = 0; k < 10; k++) if(!(j == 4 && k == 9)) dp[i][j] += dp[i-1][k];}LL solve(LL n){ int d[100]; int len = 0; while(n > 0){ d[++len] = n%10; n /= 10; } d[len + 1] = 0; LL ans = 0; for(int i = len; i >= 1; i--){ for(int j = 0; j < d[i]; j++){ if(!(d[i+1] == 4 && j == 9)) ans += dp[i][j]; } if((d[i] == 9 && d[i+1] == 4)) break; } return ans;}int main(){#ifdef xxz freopen("in.txt","r",stdin);#endif // xxz LL n,T; init(); cin>>T; while(T--){ cin>>n; cout<<n - (solve(n+1) - solve(1))<<endl; } return 0;}
0 0
- 【数位DP】 hdu3555 Bomb
- 【hdu3555】【数位DP】Bomb
- 【数位DP】Bomb HDU3555
- hdu3555 Bomb 数位DP
- hdu3555数位dp
- 数位dp hdu3555
- HDU3555:Bomb(数位DP)
- hdu3555 Bomb (数位DP)
- HDU3555 Bomb 数位DP
- hdu3555 数位DP
- hdu3555(数位DP)
- Hdu3555 - Bomb - 数位dp
- hdu3555 Bomb 数位dp
- hdu3555 Bomb(数位DP)
- HDU3555 Bomb 数位DP
- hdu3555,hdu2089 数位dp
- hdu3555(数位DP)
- hdu3555 数位dp
- 【8. HA模块】云跳板机服务系统设计及实现
- Linux信号、信号处理和信号处理函数
- 严谨,保证,职业。
- 线性表学习归纳总结四:线性表链式存储 带头结点
- 从零基础学习数据库之DML语言(一)
- HDU3555(数位DP)
- 从零基础学习数据库之DML语言(二)
- 通过两个汇编实例对高级语言数组实现原理的发现
- SQLite简介 转
- 计算机中断例程和启动过程
- [资料笔记]: 3GPP与ITU的文档地址
- 几个问题。
- java csv 0开头问题
- Windows Shell 程序