BZOJ 1026: [SCOI2009]windy数
来源:互联网 发布:电子书生成器mac版 编辑:程序博客网 时间:2024/04/25 20:27
1026: [SCOI2009]windy数
Description
windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数?
Input
包含两个整数,A B。
Output
一个整数。
Sample Input
【输入样例一】
1 10
【输入样例二】
25 50
1 10
【输入样例二】
25 50
Sample Output
【输出样例一】
9
【输出样例二】
20
【数据规模和约定】
20%的数据,满足 1 <= A <= B <= 1000000 。
100%的数据,满足 1 <= A <= B <= 2000000000 。
9
【输出样例二】
20
【数据规模和约定】
20%的数据,满足 1 <= A <= B <= 1000000 。
100%的数据,满足 1 <= A <= B <= 2000000000 。
——我是快乐地分隔符——
好吧,这道题目,裸眼DP,我还是觉得记忆化搜索或许更好写更容易理解。dp[i][j]表示确定前i位且第i位为j,剩余位数有多少种填充方法。
好吧,写的时候好多细节,把我给写崩溃了= =
下面是代码【你可以试着百度这个代码、、别打我QAQ我错了、、、、
#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>using namespace std;int l,r,dp[15][15],bit[15];int work(int n){int len=0,ans=0;memset(bit,0,sizeof(bit));while (n){bit[++len]=n%10;n/=10;}for (int i=1;i<=len-1;i++)for (int j=1;j<=9;j++)ans+=dp[i][j];for (int i=1;i<bit[len];i++) ans+=dp[len][i];for (int i=len-1;i>0;i--){for (int j=0;j<bit[i];j++)if (abs(j-bit[i+1])>=2) ans+=dp[i][j];if (abs(bit[i]-bit[i+1])<2) break;}return ans;}int main(){scanf("%d%d",&l,&r);for (int i=0;i<=9;i++) dp[1][i]=1;for (int i=2;i<=10;i++) for (int j=0;j<=9;j++)for (int k=0;k<=9;k++)if (abs(j-k)>=2) dp[i][j]+=dp[i-1][k];printf("%d",work(r+1)-work(l));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?
- 黑马程序员 关键字、标示符、注释
- linux 环境下设置 rewrite
- UVA 562 CD (DP+DFS)
- NYOJ-兄弟郊游问题
- initWithFile或initWithSpriteFrameName 边框变白问题
- BZOJ 1026: [SCOI2009]windy数
- 黑马程序员-OC基本语法
- Cocos2d游戏的基本知识
- UVA 11294 POJ 3648 Wedding
- 数据结构之哈希表
- pymongo 安装 和 使用
- python的图像处理之路(1)
- poj 2151
- github上fork别人代码,如何将自己代码更新到最新版本