[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模板题
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#define int long long
using namespace std;
int l,r,a[],dp[][];
int dfs(int pos,int sta,bool lead,bool limit)
{
if(pos==) return ;
if(!lead&&!limit&&dp[pos][sta]!=-) return dp[pos][sta];
int up=limit?a[pos]:;
int ans=;
for(int i=;i<=up;i++)
{
if(abs(i-sta)<) continue;
ans+=dfs(pos-,(i==&&lead)?:i,(i==&&lead),(limit&&i==up));
}
if(!limit&&!lead) dp[pos][sta]=ans;
return ans;
}
int solve(int x)
{
int cnt=;
while(x!=)
{
a[++cnt]=x%;
x/=;
}
memset(dp,-,sizeof(dp));
return dfs(cnt,,,);
}
#undef int
int main()
{
#define int long long
cin>>l>>r;
cout<<solve(r)-solve(l-);
return ;
}
[BZOJ1026]windy数的更多相关文章
- [您有新的未分配科技点]数位DP:从板子到基础(例题 bzoj1026 windy数 bzoj3131 淘金)
只会统计数位个数或者某种”符合简单规律”的数并不够……我们需要更多的套路和应用 数位dp中常用的思想是“分类讨论”思想.下面我们就看一道典型的分类讨论例题 1026: [SCOI2009]windy数 ...
- bzoj1026 windy数 数位DP
windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? Input 包含两个整数,A ...
- 数位dp——BZOJ1026 Windy数
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MB Description windy定义了一种windy数.不含前导零且相邻 ...
- [SCOI2009] [BZOJ1026] windy数
windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道, 在A和B之间,包括A和B,总共有多少个windy数?\(1 \le A \le ...
- [bzoj1026][SCOI2009]windy数_数位dp
windy数 bzoj-1026 题目大意:求一段区间中的windy数个数. 注释:如果一个数任意相邻两位的差的绝对值都不小于2,这个数就是windy数,没有前导0.$区间边界<=2\cdot ...
- BZOJ1026 SCOI2009 windy数 【数位DP】
BZOJ1026 SCOI2009 windy数 Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B ...
- [BZOJ1026][SCOI2009]windy数 解题报告|数位dp
Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 一直 ...
- BZOJ1026: [SCOI2009]windy数[数位DP]
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 6346 Solved: 2831[Submit][Sta ...
- BZOJ1026: [SCOI2009]windy数
传送门 md直接wa了78次,身败名裂 没学过数位DP硬搞了一道数位DP的模板题,感觉非常的愉(sha)悦(cha). 二分转化枚举思想.首先DP预处理出来$f[i][j]$表示有$i$位且第$i$位 ...
随机推荐
- WebSocket之获取HttpSession
WebSocket之获取HttpSession 由于WebSocket与Http协议的不同,故在使用常用的HttpSession方面就存在了一些问题.通过google翻阅到了在onOpen方法下使用H ...
- Network Security Services If you want to add support for SSL, S/MIME, or other Internet security standards to your application, you can use Network Security Services (NSS) to implement all your securi
Network Security Services | MDN https://developer.mozilla.org/zh-CN/docs/NSS 网络安全服务 (NSS) 是一组旨在支持支持安 ...
- initialize myObject by calling a function that returns an object literal
w作用域控制变量的可见范围. JavaScript: The Good Parts Instead of initializing myObject with an object literal, w ...
- ifram+form方式实现文件、图片上传、预览
1.前端代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- JSONP使用
一.什么是JSONP jsonp是一种规则,它是利用创建html的script快的方式,将远端url放到src属性中,并以函数的形式执行远程返回值中的函数. jsonp的出现是为了解决浏览器同源策略的 ...
- qemu网络虚拟化之数据流向分析三
2016-09-27 前篇文章通过分析源代码,大致描述了各个数据结构之间的关系是如何建立的,那么今天就从数据包的角度,分析下数据包是如何在这些数据结构中间流转的! 这部分内容需要结合前面两篇文章来看, ...
- windows系统的对象管理
windows中的对象和高级编程语言中所说的对象还欧区别,准确来讲,windows中的对象其实指的是一种数据结构并且是一种带着“对象头(object head)” 的数据结构! 所以windows中 ...
- Win查询注册表获取CPU与内存参数
#include "stdafx.h" void dump_machine_info( HANDLE fh ) { CHAR Str[MAX_PATH*3]; CHAR MHzSt ...
- Linux上安装MySQL及其基础配置
本文主要介绍Linux下使用yum安装MySQL,以及启动.登录和远程访问MySQL数据库. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | gr ...
- Flask的配置与路由
配置管理 flask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为: { 'DEBUG': get_de ...