高校俱乐部第二届战神杯题解[通俗易懂]

高校俱乐部第二届战神杯题解

大家好,又见面了,我是全栈君。

Njzy学习了回文串后联想到了回文数,他希望统计出一个区间内的全部回文数。

如今给定一个闭区间[a,b],求这个区间里有多少个回文数。比方[20,30],仅仅有一个回文数那就是22.

 输入描写叙述:   输入包括多组測试数据,每组測试数据包括两个整数a,b,(0<a<=b<10^6)。

输出描写叙述:   对于每组測试数据输出对应的答案。

思路:水题。这个明显是水神杯…聪明的你,肯定不会暴力求解的….对吧?!

太聪明的你,说不定还会当成线段树来拍…可是正常的你,应该会dp一下吧。

大概就是。一次遍历。考虑[0,i]的回文数个数。[l,r]的回文数就是[0,r]-[0,l-1]最后每次查找就是O(1),输出ans[m]-ans[n-1],与CF的前次非常像的做法。我当时用了线段树!

dp方程就是 dp[i]=dp[i-1]+symm(i)。

/***********************************************************
	> OS     : Linux 3.2.0-60-generic #91-Ubuntu
	> Author : yaolong
	> Mail   : dengyaolong@yeah.net 
	> Time   : 2014年06月03日 星期二 17:53:49
 **********************************************************/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int ans[1000001];

bool symm(int m)
{
int temp = m,n=0;
while (temp)
{
n = n*10+temp%10;
temp = temp/10;
}
return (m == n);
}


int main(){
    ans[0]=0;
    for(int i=1;i<=1000000;i++){
        if(symm(i)){
            ans[i]=ans[i-1]+1;
        }else{
            ans[i]=ans[i-1];
        }
    }
    int n,m;
    while(cin>>n>>m){
        cout<<ans[m]-ans[n-1]<<endl;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115728.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Android SDK常用命令

    Android SDK常用命令1.注意事项执行sourcebuild/envsetup.sh后可以使用很多android集成的shell命令。2.代码中定义打开build/envsetup.sh文件,可以看到:functionhmm(){cat<<EOFInvoke”.build/envsetup.sh”fromyourshelltoaddthefollowingfunctionstoyourenvironment:-lunch:lunch<product_

    2022年7月21日
  • 小数乘法计算题100道_leetcode题库c语言

    小数乘法计算题100道_leetcode题库c语言LeetCode算法题-Binary Tree Level Order Traversal II(Java实现)

    2022年4月20日
  • Unity AssetBundle介绍

    Unity AssetBundle介绍1.什么是AssetBundle?AssetBundle是一种资源压缩包。资源打包AssetBundle有两个好处:减小安装包的大小,资源可以在进入游戏时候,网络下载。 热更资源,方便修复线上资源问题引起的Bug,或新增加游戏内容。AssetBundle分为两种类型:场景AssetBundle&非场景AssetBundle。2.AssetBundle结构2.1As…

    2022年6月18日
  • 堆和栈的区别(队列和栈的区别)

    堆(Heap)与栈(Stack)是开发人员必须面对的两个概念,在理解这两个概念时,需要放到具体的场景下,因为不同场景下,堆与栈代表不同的含义。一般情况下,有两层含义:(1)程序内存布局场景下,堆与栈表示的是两种程序内存分区;(2)数据结构场景下,堆与栈表示两种常用的数据结构。1.程序内存分区——堆与栈栈由操作系统自动分配释放,用于存放函数的参数值、局部变量的值等,其操作方式类…

    2022年4月12日
  • 用注册机注册Keil

    用注册机注册Keil注册前需用管理员权限打开软件,不然会提示ERRORR206:NOREGISTRYACCESS,ADMINISTRATIONRIGHTSREQUIRED。截至到2032年的最新注册机链接:https://pan.baidu.com/s/1kfVnA6FL_ZvHGpQPtZprTw提取码:tu2m

    2022年5月7日
  • 打开火狐浏览器之后主页自动跳转到2345网站首页

    打开火狐浏览器之后主页自动跳转到2345网站首页常在河边走,哪有不湿鞋。由于某款软件是收费的,需要下载绿色版,就在网上下载,作为老司机,每个界面还是很小心地、仔细的点击下一步,尽量不被迷惑了双眼,只下载所需要的软件。但没想到还是中招了,什么2345、好压王、高仿office和wps的一款(名字已忘记)、乱七八糟的输入法,头大,就一个个的删除掉,但没想到不仅仅是流氓软件偷偷下载,卸载那么简单,它还会偷偷的修改浏览器的主页,以及不知道的一些东西。会恶心你,可能这就是免费的代价。果真是天下没有免费的午餐。———————-

    2022年6月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号