1026: [SCOI2009]windy数

Time Limit: 1 Sec  Memory Limit: 162 MB
Submit: 6346  Solved: 2831
[Submit][Status][Discuss]

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 。


d[i][j]表示到第i位,第i位为j的windy数个数
初始化d[1][j]=1
然后直接转移
 
sol先统计不到天际线的,然后统计天际线,if(abs(a[i+1]-a[i])<2) break;
 
注意:这个也是不统计n是不是windy数
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
const int N=,INF=1e9+;
int l,r,d[N][];
void dp(){
for(int j=;j<=;j++) d[][j]=;
for(int i=;i<=;i++)
for(int j=;j<=;j++)
for(int k=;k<=;k++)
if(abs(j-k)>=) d[i][j]+=d[i-][k];
}
int sol(int n){
int a[N],len=,ans=;
while(n) a[++len]=n%,n/=;
a[len+]=; for(int i=len-;i>=;i--) for(int j=;j<=;j++) ans+=d[i][j];
for(int j=;j<a[len];j++) ans+=d[len][j];
//skyline
for(int i=len-;i>=;i--){
for(int j=;j<a[i];j++)
if(abs(a[i+]-j)>=) ans+=d[i][j];
if(abs(a[i+]-a[i])<) break;
} return ans;
}
int main(){
dp();
scanf("%d%d",&l,&r);
printf("%d",sol(r+)-sol(l));
}

最新文章

  1. 如何使用其他文件中定义的类Python
  2. PHP操作字符串 截取指定长度字符 移除字符串两侧 左侧 右侧指定字符 或空白字符 替换字符
  3. css中单位em和rem
  4. django 操作数据库--orm(object relation mapping)---models
  5. BZOJ2158 : Crash 的旅行计划
  6. 让 Popwindow 向上弹出
  7. 如何使用emacs编写c语言程序,并编译运行
  8. AppInventor学习笔记(四)&mdash;&mdash;打地鼠应用学习
  9. 安装phpmyadmin
  10. select @@identity的用法
  11. drbd
  12. HDU 1811
  13. DFS入门之二---DFS求连通块
  14. 24种设计模式--观察者模式【Observer Pattern】
  15. MySQL中group_concat函数,用符号连接查询分组里字段值
  16. 通过Qt样式表定制程序外观(比较通俗易懂)
  17. navicat导出数据结构及数据
  18. UWP 手绘视频创作工具技术分享系列 - 位图的绘制
  19. $.ajax居然触发popstate事件?
  20. 如何理解Python装饰器

热门文章

  1. UDS(ISO14229-2006) 汉译(No.1 范围)
  2. python征程1.4(初识python)
  3. 解决jdk1.8上编译dubbo失败
  4. 从零开始学 Java - Spring 一主多从、多主多从 数据库配置
  5. GJM : Unity调用系统窗口选择本地文件
  6. 【转】微信小程序给程序员带来的可能是一个赚钱的机遇
  7. jQuery静态方法parseJSON方法使用和源码分析
  8. Dev Winform 简洁界面模板制作
  9. 使用独立模式安装Sharepoint Server 2013出现创建示例数据错误的解决方案
  10. Android开发学习——基础学习