[BZOJ1026]windy数
Description
windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,
在A和B之间,包括A和B,总共有多少个windy数?
Input
包含两个整数,A B。
Output
一个整数
Sample Input
1 10
【输入样例二】
25 50
Sample Output
9
【输出样例二】
20
HINT
【数据规模和约定】
100%的数据,满足 1 <= A <= B <= 2000000000 。
Source
数位dp模板题
代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #define int long long 6 using namespace std; 7 int l,r,a[21],dp[21][1001]; 8 int dfs(int pos,int sta,bool lead,bool limit) 9 { 10 if(pos==0) return 1; 11 if(!lead&&!limit&&dp[pos][sta]!=-1) return dp[pos][sta]; 12 int up=limit?a[pos]:9; 13 int ans=0; 14 for(int i=0;i<=up;i++) 15 { 16 if(abs(i-sta)<2) continue; 17 ans+=dfs(pos-1,(i==0&&lead)?1000:i,(i==0&&lead),(limit&&i==up)); 18 } 19 if(!limit&&!lead) dp[pos][sta]=ans; 20 return ans; 21 } 22 int solve(int x) 23 { 24 int cnt=0; 25 while(x!=0) 26 { 27 a[++cnt]=x%10; 28 x/=10; 29 } 30 memset(dp,-1,sizeof(dp)); 31 return dfs(cnt,1000,1,1); 32 } 33 #undef int 34 int main() 35 { 36 #define int long long 37 cin>>l>>r; 38 cout<<solve(r)-solve(l-1); 39 return 0; 40 }
转载于:https://www.cnblogs.com/Slrslr/p/9712058.html
[BZOJ1026]windy数相关推荐
- bzoj-1026 windy数
题意: 定义一种windy数.这个数在十进制下相邻两个数字之差至少为2的正整数: 求区间[A,B]的这样的数的个数: n<=10^9: 题解: 数位乱搞. 首先求区间[A.B]等价于求[1,A- ...
- bzoj1026 Windy数
传送门 数位DP模板.注意 s o l v e solve solve函数中, p o s pos pos要置为 0 0 0.这种写法要把 m e m s e t memset memset写在函数里 ...
- BZOJ1026 [SCOI2009]windy数 数位dp
欢迎访问~原文出处--博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1026 题目概括 求区间[A,B]中有多少数满足下面的条件. 条件:该数相邻两位之差不小于2. 题解 ...
- BZOJ1026[SCOI2009]windy数
@(BZOJ)[数位DP] 题面 Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B ...
- 【bzoj1026】[SCOI2009]windy数 数位dp
题目描述 windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 输入 包含两个整数 ...
- [BZOJ1026] [SCOI2009] windy数 (数位dp)
Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? In ...
- windy数(BZOJ-1026)
Problem Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个wi ...
- 【BZOJ1026】windy数,数位DP
Time:2016.08.14 Author:xiaoyimi 转载注明出处谢谢 思路: 依旧蛋疼的数位DP f[i][j]表示有i位,且最高位为j的windy数个数 转移方程比较好写 关键是具体求值 ...
- [bzoj1026] [SCOI2009]windy数
Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? In ...
最新文章
- 【亲测有效】如何安装屏幕录制工具ScreenPresso
- 把jquery的this写入选择器里(伪写入)哈哈~
- 带有en的单词有哪些_en为前缀的单词
- 如何选择就业方向(80后的个人经验,转载)
- spring 源码阅读入门
- cmake (2)指令说明
- ActionScript 3.0 优化
- SAP Spartacus Unit List Component的设计明细 - UnitListComponent
- 52 FI配置-财务会计-固定资产-折旧-定义终止值代码
- 三星android6.0推送,三星推送Android6.0 满屏小清新的风味!
- git 远程删除分支之后 本地分支更新后还在
- mybatis mysql xml配置_Mybatis-Spring连接mysql 8.0配置步骤出错的解决方法
- Go 关键字 Select
- 基于bim二次开发的智能楼宇管理系统
- Linux宝塔禁止国外ip访问服务器,屏蔽国外ip访问网站代码
- Mugeda(木疙瘩)H5案例课—足球小游戏-岑远科-专题视频课程
- win10初始化mysql出现失败怎么办_win10初始化电脑出现问题未进行任何更改怎么办...
- PS1545L-ASEMI低压降肖特基二极管PS1545L
- docker 传递 profile
- 2020.2.26 数学函数(吃苹果问题)
热门文章
- 综述 | Google团队发布,一文概览Transformer模型的17大高效变种
- 量子科技概念大火,国内现状如何?华为BAT均入局量子计算
- 经验 | 非科班出身怎么转行计算机?
- CVPR2020 | 遮挡也能识别?地平线提出用时序信息提升行人检测准确度
- 土是独体字结构吗_毛笔楷书基础练习独体字部首的写法(左部)4
- 学校邮箱注册IDEA、pycharm等全家桶(正式版就是香)
- DWA泊车算法的实现
- Log4j、Log4j 2、JUL、JCL 、SFL4J 、Logback 与 Lombok 的使用
- java 开发规范 下载_java后端开发规范 PDF 下载
- 信安精品课:2020年软考信息安全工程师备考公开课