这道题看着像是manacher,但其实是数位dp

因为如果某个数上的某一位与它的上一位相同,则这个数肯定是个回文数;同理,如果某个数上的某一位与它的上上一位相同,则这个数肯定也是个回文数。

数位dp时要注意前导0的判断。

代码:

#include<bits/stdc++.h>#define ll long long
#define N 21
#define L 11using namespace std;ll a,b,dp[N][L][L][2],num[N];long long dfs(int k,int pre,int ppre,bool limit,bool pre0)
{if(!k)return 1;if(dp[k][pre][ppre][limit])return dp[k][pre][ppre][limit];ll ans=0;int t;if(limit)t=num[k];else t=9;for(int i=0;i<=t;i++)if((i!=pre)&&(i!=ppre))ans+=dfs(k-1,((pre0&&!i)?-1:i),((pre0&&!i)?-1:pre),limit&&i==t,pre0&&!i);return dp[k][pre][ppre][limit]=ans;
}ll query(ll x)
{memset(dp,0,sizeof(dp));int cnt=0;while(x){num[++cnt]=x%10;x/=10;}ll ans=dfs(cnt,-1,-1,true,true);return ans;
}int main()
{scanf("%lld%lld",&a,&b);printf("%lld\n",query(b)-query(a-1));return 0;
}

转载于:https://www.cnblogs.com/ez-lcw/p/11168859.html

loj2683「BalticOI 2013」非回文数 Palindrome-Free Numbers相关推荐

  1. Libre OJ 「BalticOI 2013」非回文数 数位dp

    传送门 文章目录 题意: 思路: 题意: 问[l,r][l,r][l,r]内有多少个数是非回文数,即数字中不存在连续几个数为回文数. l,r≤1e18l,r\le1e18l,r≤1e18 思路: 这么 ...

  2. #2686. 「BalticOI 2013」雪地足迹 双端队列01bfs + 模型转换

    传送门 文章目录 题意: 思路: 题意: 给你一个n∗mn*mn∗m的图,如果某个位置字符为RRR代表兔子走过,如果为FFF代表狐狸走过,如果...代表谁都没走过,每只动物必须从左上角进来,右下角出去 ...

  3. C++判断一个数是否为回文数palindrome的算法(附完整源码)

    C++判断一个数是否为回文数palindrome的算法 C++判断一个数是否为回文数palindrome的算法完整源码(定义,实现,main函数测试) C++判断一个数是否为回文数palindrome ...

  4. C语言判断一个数是否是回文数Palindrome算法(附完整源码)

    判断回文数Palindrome的算法 判断回文数Palindrome的算法完整源码(定义,实现,main函数测试) 判断回文数Palindrome的算法完整源码(定义,实现,main函数测试) #in ...

  5. LeetCode 9. 回文数 Palindrome Number

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  6. Leetcode 9. 回文数(Palindrome Number)

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  7. LeetCode第9题 回文数(Palindrome Number)

    文章目录 题目地址 题目描述 代码实现 解法一:普通解法 解法二:进阶解法---数学解法 解法三:进阶解法---巧妙解法 题目地址 题目地址https://leetcode-cn.com/proble ...

  8. 「BZOJ 2342」「SHOI 2011」双倍回文「Manacher」

    题意 记\(s_R\)为\(s\)翻转后的串,求一个串最长的形如\(ss_Rss_R\)的子串长度 题解 这有一个复杂度明显\(O(n)\)的做法,思路来自网上某篇博客 一个双倍回文串肯定当且仅当本身 ...

  9. 【搜索】JZOJ_3319 LOJ_2686 「BalticOI 2013」雪地足迹 Tracks in the Snow

    题意 在一片长方形的草地上,有 2 2 2种动物--兔子和狐狸活动.兔子走过草地会留下 R R R,狐狸走过草地会留下 F F F.每只动物从左上角进入草地,从右下角走出草地.其间,它可以上下左右乱跳 ...

  10. 回文数的JAVA程序

    2019独角兽企业重金招聘Python工程师标准>>> 这是包括字符的回文数 import java.util.Scanner; import javax.swing.JOption ...

最新文章

  1. qchart折现图_Qt Charts 动态实时折线图绘制
  2. pandas使用split函数将dataframe中的特定列表字段(list column)裂变为多个数据列并拼接到原dataframe中
  3. STM32-I2C总线驱动程序分析
  4. Python3学习笔记----环境安装及文本编辑器的选择
  5. android ui布局适配,Android适配全面总结(一)----屏幕适配
  6. MSF(二):msf外部/内部常用命令
  7. 2019年最流行的10个前端框架
  8. 前端—每天5道面试题(3)
  9. 数据库安全之Mysql数据库安全加固
  10. python 重命名文件出现乱码_下载的文件名总是「乱码」?这里有各平台的解决方法...
  11. StreamSets sdc rpc 测试
  12. idea拉出Output窗口和还原窗口
  13. 魔兽单机服务器设置文件,魔兽世界单机版局域网的架设方法-20210311142535.doc-原创力文档...
  14. Multisim 13.0.1 安装教程
  15. 上海市第三届上海市青少年算法竞赛(小学组)线上同步赛 数洞洞
  16. 【音频处理】WAV 文件格式分析 ( 逐个字节解析文件头 | 相关字段的计算公式 )
  17. 三种主流芯片架构简单比较
  18. 作业:欧拉公式以及凉鞋问题
  19. 区块链入门 第二部分
  20. 人工智能实战2019 第0次作业 焦宇恒

热门文章

  1. AI+教育落地,百度大脑如何让校园更智能?
  2. java.lang.IllegalArgumentException at java.sql.Date.getHours
  3. 前馈神经网络开山鼻祖---一些概念
  4. TIC大咖说|氦氪云:用云服务推动智能家居发展
  5. 世界独创的螺旋数组低于n(o^2)的生成算法
  6. 结构-行为-样式-有趣的函数
  7. 跟我一起学Vim补全神级插件--YouCompleteMe
  8. GDAL打开HDF格式时遇到的中文路径问题(未解决)
  9. 【转】windows操作系统同步 (Critical Section,Mutex,Semaphore,Event Object,Interlocked Variable)...
  10. LINUX开源监控平台Nagios(主机监控配置)