[bzoj]1026: [SCOI2009]windy数
来源:互联网 发布:云米超能滤水壶 知乎 编辑:程序博客网 时间:2024/04/19 16:36
看题目很容易想到数位dp,具体做法看这位的:http://blog.csdn.net/zz_ylolita/article/details/50754618
讲的还是很详细的。
#include <cstdio>#include <cstring>#include <algorithm>#define ll long longusing namespace std;ll a,b;int len,d[12];ll dp[12][12];ll work(ll x){register int i,j;ll re=0;if (x==0) return 0;len=0,memset(d,0,sizeof(d));while (x>0){d[++len]=x%10;x/=10;}for (i=1;i<=d[len]-1;i++){re+=dp[len][i];}for (i=len-1;i>0;i--)for (j=1;j<=9;j++){re+=dp[i][j];}for (i=len-1;i>0;i--){for (j=0;j<=d[i]-1;j++){if (abs(d[i+1]-j)>=2) re+=dp[i][j];}if (abs(d[i+1]-d[i])<2) break;}return re;}int main(){register int i,j,k;scanf("%lld %lld",&a,&b);for (i=0;i<=9;i++) dp[1][i]=1;for (i=2;i<=10;i++)for (j=0;j<=9;j++)for (k=0;k<=9;k++){if (abs(j-k)>=2)dp[i][j]+=dp[i-1][k];}printf("%lld\n",work(b+1)-work(a));return 0;}
阅读全文
0 0
- BZOJ 1026: [SCOI2009]windy数
- 【bzoj】1026: [SCOI2009]windy数
- [BZOJ]1026: [SCOI2009]windy数
- 【BZOJ】1026 [SCOI2009] windy数
- BZOJ 1026 [SCOI2009] windy数
- BZOJ 1026 [SCOI2009]windy数
- [bzoj]1026: [SCOI2009]windy数
- BZOJ 1026 [SCOI2009]windy数
- [BZOJ]1026 [SCOI2009] windy数
- BZOJ 1026 [SCOI2009]windy数
- bzoj 1026 [SCOI2009]windy数
- [bzoj][SCOI2009]windy数
- BZOJ 1026 1026: [SCOI2009]windy数
- bzoj 1026 [SCOI2009]windy数 题解
- 数位dp BZOJ 1026: [SCOI2009]windy数
- BZOJ 1026 SCOI2009 windy数 数位DP
- 【BZOJ】1026: [SCOI2009]windy数 数位DP
- BZOJ 1026 [SCOI2009]windy数 数位DP?
- 2.8 Git Basics
- SVD的威力
- Swift
- [BZOJ4504][主席树]K个串
- 如何实现mobike我的贴纸功能
- [bzoj]1026: [SCOI2009]windy数
- 个人开源项目cuteRecorder---录音框架的使用
- Java 实现多线程的方式
- ORM——基本思想
- android关闭其他app
- centos编译并运行.cpp
- 2017/7/4 jq学习心得 jq其他必备知识
- 调度器
- python面试--多进程分块处理大型文件