loj2683「BalticOI 2013」非回文数 Palindrome-Free Numbers
这道题看着像是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相关推荐
- Libre OJ 「BalticOI 2013」非回文数 数位dp
传送门 文章目录 题意: 思路: 题意: 问[l,r][l,r][l,r]内有多少个数是非回文数,即数字中不存在连续几个数为回文数. l,r≤1e18l,r\le1e18l,r≤1e18 思路: 这么 ...
- #2686. 「BalticOI 2013」雪地足迹 双端队列01bfs + 模型转换
传送门 文章目录 题意: 思路: 题意: 给你一个n∗mn*mn∗m的图,如果某个位置字符为RRR代表兔子走过,如果为FFF代表狐狸走过,如果...代表谁都没走过,每只动物必须从左上角进来,右下角出去 ...
- C++判断一个数是否为回文数palindrome的算法(附完整源码)
C++判断一个数是否为回文数palindrome的算法 C++判断一个数是否为回文数palindrome的算法完整源码(定义,实现,main函数测试) C++判断一个数是否为回文数palindrome ...
- C语言判断一个数是否是回文数Palindrome算法(附完整源码)
判断回文数Palindrome的算法 判断回文数Palindrome的算法完整源码(定义,实现,main函数测试) 判断回文数Palindrome的算法完整源码(定义,实现,main函数测试) #in ...
- LeetCode 9. 回文数 Palindrome Number
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...
- Leetcode 9. 回文数(Palindrome Number)
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...
- LeetCode第9题 回文数(Palindrome Number)
文章目录 题目地址 题目描述 代码实现 解法一:普通解法 解法二:进阶解法---数学解法 解法三:进阶解法---巧妙解法 题目地址 题目地址https://leetcode-cn.com/proble ...
- 「BZOJ 2342」「SHOI 2011」双倍回文「Manacher」
题意 记\(s_R\)为\(s\)翻转后的串,求一个串最长的形如\(ss_Rss_R\)的子串长度 题解 这有一个复杂度明显\(O(n)\)的做法,思路来自网上某篇博客 一个双倍回文串肯定当且仅当本身 ...
- 【搜索】JZOJ_3319 LOJ_2686 「BalticOI 2013」雪地足迹 Tracks in the Snow
题意 在一片长方形的草地上,有 2 2 2种动物--兔子和狐狸活动.兔子走过草地会留下 R R R,狐狸走过草地会留下 F F F.每只动物从左上角进入草地,从右下角走出草地.其间,它可以上下左右乱跳 ...
- 回文数的JAVA程序
2019独角兽企业重金招聘Python工程师标准>>> 这是包括字符的回文数 import java.util.Scanner; import javax.swing.JOption ...
最新文章
- qchart折现图_Qt Charts 动态实时折线图绘制
- pandas使用split函数将dataframe中的特定列表字段(list column)裂变为多个数据列并拼接到原dataframe中
- STM32-I2C总线驱动程序分析
- Python3学习笔记----环境安装及文本编辑器的选择
- android ui布局适配,Android适配全面总结(一)----屏幕适配
- MSF(二):msf外部/内部常用命令
- 2019年最流行的10个前端框架
- 前端—每天5道面试题(3)
- 数据库安全之Mysql数据库安全加固
- python 重命名文件出现乱码_下载的文件名总是「乱码」?这里有各平台的解决方法...
- StreamSets sdc rpc 测试
- idea拉出Output窗口和还原窗口
- 魔兽单机服务器设置文件,魔兽世界单机版局域网的架设方法-20210311142535.doc-原创力文档...
- Multisim 13.0.1 安装教程
- 上海市第三届上海市青少年算法竞赛(小学组)线上同步赛 数洞洞
- 【音频处理】WAV 文件格式分析 ( 逐个字节解析文件头 | 相关字段的计算公式 )
- 三种主流芯片架构简单比较
- 作业:欧拉公式以及凉鞋问题
- 区块链入门 第二部分
- 人工智能实战2019 第0次作业 焦宇恒
热门文章
- AI+教育落地,百度大脑如何让校园更智能?
- java.lang.IllegalArgumentException at java.sql.Date.getHours
- 前馈神经网络开山鼻祖---一些概念
- TIC大咖说|氦氪云:用云服务推动智能家居发展
- 世界独创的螺旋数组低于n(o^2)的生成算法
- 结构-行为-样式-有趣的函数
- 跟我一起学Vim补全神级插件--YouCompleteMe
- GDAL打开HDF格式时遇到的中文路径问题(未解决)
- 【转】windows操作系统同步 (Critical Section,Mutex,Semaphore,Event Object,Interlocked Variable)...
- LINUX开源监控平台Nagios(主机监控配置)