zoukankan      html  css  js  c++  java
  • 【bzoj1026】windy数

    江泽OJ好,远离bzoj保平安。

    仍然沿用之前的记忆化搜索的办法即可。

    #include<bits/stdc++.h>
    #define N 10010
    using namespace std;
    int a[20],dp[20][20];
    int dfs(int x,int pre,int lim){
        if(x==-1)return 1;
        if(!lim&&~dp[x][pre]&&pre>=0)return dp[x][pre];
        int maxv=lim?a[x]:9,ret=0;int st=0;
        for(int i=0;i<=maxv;i++){
            if(abs(i-pre)<2)continue;
            st=i;if(i==0&&pre==-10)st=pre;
            ret+=dfs(x-1,st,lim&&(i==maxv));
        }
        if(pre>=0&&!lim)dp[x][pre]=ret;
        return ret;
    }
    inline int work(int x){
        int len=0;
        while(x){a[len++]=x%10;x/=10;}
        memset(dp,255,sizeof(dp));
        return dfs(len-1,-10,1);
    }
    inline int read(){
        int f=1,x=0;char ch;
        do{ch=getchar();if(ch=='-')f=-1;}while(ch<'0'||ch>'9');
        do{x=x*10+ch-'0';ch=getchar();}while(ch>='0'&&ch<='9');
        return f*x;
    }
    int main(){
        int l=read(),r=read();
        printf("%d
    ",work(r)-work(l-1));
    }
  • 相关阅读:
    1. 两数之和
    RabbitMQ主题交换机
    RabbitMQ路由
    RabbitMQ发布订阅
    RabbitMQ简介和安装
    55. 跳跃游戏
    63. 不同路径 II
    62. 不同路径
    6. Z 字形变换
    sql注入攻击与防御第一章(笔记)
  • 原文地址:https://www.cnblogs.com/zcysky/p/6991493.html
Copyright © 2011-2022 走看看