博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 1026 [SCOI2009]windy数 数位dp
阅读量:7120 次
发布时间:2019-06-28

本文共 1909 字,大约阅读时间需要 6 分钟。

1026: [SCOI2009]windy数

Time Limit: 20 Sec

Memory Limit: 256 MB

题目连接

http://www.lydsy.com/JudgeOnline/problem.php?id=1026

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 。

题意

题解:

比较弱的数位dp,直接裸跑就好啦~

代码:

 

//qscqesze#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
typedef long long ll;using namespace std;//freopen("D.in","r",stdin);//freopen("D.out","w",stdout);#define sspeed ios_base::sync_with_stdio(0);cin.tie(0)#define test freopen("test.txt","r",stdin) #define maxn 2000001#define mod 10007#define eps 1e-9int Num;char CH[20];const int inf=0x3f3f3f3f;const ll infll = 0x3f3f3f3f3f3f3f3fLL;inline ll read(){ ll x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}inline void P(int x){ Num=0;if(!x){putchar('0');puts("");return;} while(x>0)CH[++Num]=x%10,x/=10; while(Num)putchar(CH[Num--]+48); puts("");}//**************************************************************************************int l,r,dp[15][15],bit[15]; void pre(){ 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]; }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
0;i--) { for(int j=0;j
=2) ans+=dp[i][j]; if(abs(bit[i]-bit[i+1])<2) break; } return ans; } int main(){ pre(); scanf("%d%d",&l,&r); printf("%d",work(r+1)-work(l)); return 0; }

 

 

 

转载地址:http://wgnel.baihongyu.com/

你可能感兴趣的文章
用swift开发仪表盘控件(一)
查看>>
使用CAShapeLayer与UIBezierPath画出想要的图形
查看>>
Spring bean注入方式
查看>>
领域驱动设计系列(2)浅析VO、DTO、DO、PO的概念、区别和用处
查看>>
Java的反射机制(Reflection)
查看>>
李洪强iOS经典面试题156 - Runtime详解(面试必备)
查看>>
转 文件路径相关的字符串操作
查看>>
mysql 5.6 分区与不分区的区别
查看>>
Material Theme
查看>>
mysql 字符串函数
查看>>
为什么zookeeper集群中节点配置个数是奇数个?
查看>>
TCP/IP协议详解内容总结(怒喷一口老血)
查看>>
RedHat Linux 5企业版开启VNCSERVER远程桌面功能[转]
查看>>
更改Zend Studio/Eclipse代码风格主题
查看>>
RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍
查看>>
leetcode第一刷_Count and Say
查看>>
Leetcode: Excel Sheet Column Number
查看>>
李炯生同志去世
查看>>
如何在Oracle中导入dmp文件
查看>>
iOS - OC NSLocale 本地化信息
查看>>