bzoj 1026 //1026: [SCOI2009]windy数   //在线测评地址https://www.lydsy.com/JudgeOnline/problem.php?id=1026
//在线测评地址https://www.luogu.org/problem/P2657

更多题解,详见https://blog.csdn.net/mrcrack/article/details/90228694BZOJ刷题记录

方法一:数位dp 模板 记忆化搜索

Accepted 824 kb 60 ms C++/Edit 1086 B

//1026: [SCOI2009]windy数
//在线测评地址https://www.lydsy.com/JudgeOnline/problem.php?id=1026
//在线测评地址https://www.luogu.org/problem/P2657
//看了数据范围 1 <= A <= B <= 2000000000 ,long long比较稳妥
//枚举算法容易编写,AC不了,是肯定的。2019-11-9 19:44
//先解决样例
//编写完枚举算法,测试了样例,才发现没有读懂题意,什么是windy数,要是题目能举例说明就好了。
//样例2,很快弄懂,
/*
25~31共7个
35~42共8个
46~50共5个
7+8+5=20个
*/
//样例1,始终没弄懂。
//在想,要么样例1,就是作为特例给出,1-9之间9个数,都是特殊的windy数.2019-11-9 20:08
//数位dp入门,此文https://www.luogu.org/blog/virus2017/shuweidp可以读读。2019-11-10 18:43
//此文https://www.luogu.org/problemnew/solution/P2657   作者: Mathison 更新时间: 2018-09-27 16:25代码写得不错
//凭着记忆,硬写,错误不断,不过,也就逐渐有了感觉。
//样例通过,提交AC.2019-11-12 20:42
#include <stdio.h>
#include <string.h>
#define LL long long
int L,R;
LL ans,dp[15][15];
int a[15],len;
int myabs(int x){
    return x>=0?x:-x;
}
LL dfs(int pos,int pre,int lead,int limit){
    LL ret=0;
    int res,i;
    if(pos>len)return 1;//此处错写成if(pos<len)return 1;//搜完,返回1,因该搜索可行
    if(!limit&&dp[pos][pre]!=-1)return dp[pos][pre];
    res=limit?a[len-pos+1]:9;//此处错写成res=limit?a[len-pos-1]:9;
    for(i=0;i<=res;i++){
        if(myabs(i-pre)<2)continue;
        if(lead&&!i)ret+=dfs(pos+1,-2,1,limit&&i==res);//前导0
        else ret+=dfs(pos+1,i,0,limit&&i==res);//此处错写成if(!lead)ret+=dfs(pos+1,i,0,limit&&i==res);
    }
    if(!limit&&!lead)dp[pos][pre]=ret;//此处错写成if(!limit&&!lead)ret=dp[pos][pre];
    return ret;
}
void part(int x){
    ans=0,len=0;
    while(x)a[++len]=x%10,x/=10;
    memset(dp,-1,sizeof(dp));
    ans=dfs(1,-2,1,1);
}
int main(){
    LL mx,mn;
    scanf("%d%d",&L,&R);
    part(L-1),mn=ans;
    part(R),mx=ans;
    printf("%lld\n",mx-mn);
    return 0;
}

bzoj 1026 //1026: [SCOI2009]windy数相关推荐

  1. BZOJ 1026 [SCOI2009]windy数

    1026: [SCOI2009]windy数 Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间 ...

  2. bzoj:1026: [SCOI2009]windy数(数位dp)

    1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 7982  Solved: 3593 Descriptio ...

  3. bzoj 1026: [SCOI2009]windy数(数位dp)

    1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 7688  Solved: 3470 [Submit][S ...

  4. [SCOI2009]windy数

    [SCOI2009]windy数 BZOJ luogu 数位dp入门题 复杂度:\(O(11×10×10)\) 详细见注释 #define ll long long #include<bits/ ...

  5. P2657 [SCOI2009]windy数

    P2657 [SCOI2009]windy数 题目描述 windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道, 在A和B之间,包括A和B ...

  6. P2657 [SCOI2009] windy 数(数位DP)

    题目链接:[SCOI2009] windy 数 - 洛谷 这是一道需要考虑前导0的数位DP题,为什么需要考虑前导0呢?其实原因很简单,因为有条件限制我们相邻两个数的差,所以我们在进行数位DP时必须把前 ...

  7. 洛谷 P2657 [SCOI2009] windy数 数位DP

    大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 P2657 [SCOI2009 ...

  8. 洛谷P2657 [SCOI2009]windy数

    洛谷P2657 [SCOI2009]windy数 本题是一道数位DP 看程序应该能看懂 中心思想:把一个数拆成每一位来处理 代码: #include<bits/stdc++.h> usin ...

  9. LG-P2657 [SCOI2009]windy数

    P2657 [SCOI2009]windy数 题目链接 题目描述 windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道, 在A和B之间, ...

最新文章

  1. 基于全景图像与激光点云配准的彩色点云生成算法(2014年文章)
  2. pptxgenjs一个月深度使用感受(未完待续……)
  3. RichTextBox粘贴两次以及去掉粘贴内容的格式问题
  4. 使用Keras进行深度学习:(二)CNN讲解及实践
  5. Android-上传图片(二)_HttpClient
  6. Python实战2 - 200行Python代码实现2048(控制台)
  7. WebClient上传文件至服务器和下载服务器文件至客户端
  8. 修改Sql Server 2000数据库名称
  9. python是什么课程-请问自学 Python 有必要买课程吗?
  10. chown r mysql var_Mysql 常用命令
  11. Python_继承_构造函数
  12. 湖北省大数据发展行动计划(2016-2020年)
  13. 经典语录大全微信小程序源码下载多种分类语录多流量主模式
  14. 一步一步SharePoint 2007之一:安装SharePoint
  15. 绝对简单易学的PHP入门教程
  16. 解决问题multiply defined
  17. mysql求月平均_mysql求平均值
  18. 众多mock工具,这一次我选对了
  19. 猴子吃桃问题 (15分) (递归)
  20. CST仿真指导 | 如何构建个性化的用户界面

热门文章

  1. 《Photoshop+Lightroom数码摄影后期处理经典教程》—第1章1.5节准备将Lightroom和Photoshop结合起来...
  2. 如何使用deeptools处理BAM数据
  3. 12月小报|读小报,涨知识
  4. 游戏突发随机事件设计
  5. maya加载不了arnold的mtoa可能是这个低级错误!
  6. 笔记本电脑没有鼠标怎么右键_没有鼠标怎么办?
  7. 32python腾讯位置大数据2.0版本成功输出北京位置数据(续接上2019年8月21日停止服务的内容)
  8. SAP FICO 第五节 物料分类账ML配置及应用
  9. mac svn 服务器及客户端
  10. Macbook Pro 外接显示器后,鼠标滑动延迟