U3348 A2-回文数

题目背景

方方方很喜欢回文数,于是就有了一道关于回文数的题目。

题目描述

求从小到大第n(1<=n<=10^18)个回文数。

注释:出题人认为回文数不包括0。

输入输出格式

输入格式:

一行一个正整数n。

输出格式:

第n个回文数。

输入输出样例

输入样例#1:

2333
输出样例#1:

1334331
输入样例#2:

12345678987654321
输出样例#2:

23456789876543222234567898765432

说明

对于50%的数据,n<=3000。

对于100%的数据,1<=n<=10^18。..

/*
找规律题
我们发现一个输出对应着输入数据首位-1,末位-1,然后进行对称变换
细节有三个:
1.如果前两项为10,需要把1减去,0变成9
2.如果末项为9,加1之后向前进位
3.对称变换需要考虑对称轴是最后一位数还是最后一位数后面的位置,这就需要提前预处理输出结果一共有几位数
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long sum[],a[];
long long n;
int bin[],len,b[];
long long pow(int mi){
long long res=;
for(int i=;i<=mi;i++)res*=;
return res;
}
int main(){
freopen("hws.in","r",stdin);
freopen("hws.out","w",stdout);
for(int i=;i<=;i++){
int mi=((i+)/-);
a[i]=1LL**pow(mi);
sum[i]=sum[i-]+a[i];
}
cin>>n;
int pos=lower_bound(sum+,sum+,n)-sum;//pos就是数的位数
if(n==sum[pos-])pos--;
//cout<<pos<<endl;
while(n){
b[++len]=n%;
n/=;
}
for(int i=,j=len;i<=len;i++,j--)bin[i]=b[j];
bin[]--;bin[len]++;
if(bin[]==&&bin[]==)bin[]=;
int now=len;
while(bin[now]>=){
bin[now-]+=bin[now]/;
bin[now]%=;
now--;
}
int l=len,r=len+;
if(pos%==)l--;
while(l>=){
bin[r]=bin[l];
l--;r++;
}
l=,r--;
while(bin[l]==)l++;
while(bin[r]==)r--;
for(int i=l;i<=r;i++)printf("%d",bin[i]);
}

洛谷U3348 A2-回文数的更多相关文章

  1. 洛谷 P1609 最小回文数 题解

    这题其实并不难,重点在你对回文数的了解,根本就不需要高精度. 打个比方: 对于一个形如 ABCDEFGH 的整数 有且仅有一个比它大的最小回文数 有且仅有一个比它小的最大回文数 而整数 ABCDDCB ...

  2. 洛谷——P1609 最小回文数

    题目描述 回文数是从左向右读和从右向左读结果一样的数字串. 例如:121.44 和3是回文数,175和36不是. 对于一个给定的N,请你寻找一个回文数P,满足P>N. 满足这样条件的回文数很多, ...

  3. 洛谷—— P1609 最小回文数

    https://www.luogu.org/problemnew/show/1609 题目描述 回文数是从左向右读和从右向左读结果一样的数字串. 例如:121.44 和3是回文数,175和36不是. ...

  4. 洛谷 U3346 A1-偶回文数

    U3346 A1-偶回文数 题目背景 方方方很喜欢回文数,于是zzq就出了一道关于回文数的题目. 因为偶回文数比较简单,所以方方方就把它放在了第一题... 题目描述 我们定义一个长度为偶数的回文数叫做 ...

  5. 【洛谷p1217】回文质数

    回文质数[题目链接] 始终要记得凌云壮flag(真香) 说是个搜索,其实感觉更像是一个暴力: 这个题的难度并不是特别大,因为下面的提示太明显了qwq,(而且之前培训也讲过)首先是构造回文数,构造回文数 ...

  6. 题解 洛谷 P2010 【回文日期】

    By:Soroak 洛谷博客 知识点:模拟+暴力枚举 思路:题目中有提到闰年然后很多人就认为,闰年是需要判断的其实,含有2月29号的回文串,前四位是一个闰年那么我们就可以直接进行暴力枚举 一些小细节: ...

  7. 洛谷T89644 palindrome回文串

    洛谷 T89643 回文串(并查集) 洛谷:https://www.luogu.org/problem/T89643 题目描述 由于 Kiana 实在是太忙了,所以今天的题里面没有 Kiana. 有一 ...

  8. 【洛谷P3649】回文串

    题目大意:给定一个长度为 N 的字符串,定义一个变量为该字符串的回文子串长度乘以该字串出现的次数,求这个变量的最大值是多少. 题解:学会了回文自动机. 回文自动机是两棵树组成的森林结构,并通过 fai ...

  9. 洛谷P3649 [APIO2014]回文串(回文自动机)

    传送门 话说回文自动机我自己都还没搞懂呢…… 等到时候会了再来填坑 //minamoto #include<cstdio> #include<cstring> #define ...

  10. 【洛谷p1015】【一本通p1309】回文数(noip1999)

    (过了这个题灰常灰常开心) 好像前两道忘记了传送门: 回文数[传送门] 洛谷算法标签: 其实还有高精度 这个题困死在了十六进制,后来想了想,我们在c[i]中存入一个大于十的数之前的程序也可以实现回文( ...

随机推荐

  1. FI 常用表

    FI 常用表 GL部分:FAGLFLEXT(FMGLFLEXT)   总账汇总表 GLT0        旧总帐汇总表           SKA1        总账科目主记录 (科目表)      ...

  2. (转)扫盲--JavaScript的立即执行函数

    看过jQuery源码的人应该知道,jQuery开篇用的就是立即执行函数.立即执行函数常用于第三方库,好处在于隔离作用域,任何一个第三方库都会存在大量的变量和函数,为了避免变量污染(命名冲突),开发者们 ...

  3. Elasticsearch5 及 head插件 安装说明

    Elasticsearch5.X及 head插件 安装说明: 1.下载elasticsearch安装文件: a) 下载官方源码: https://artifacts.elastic.co/downlo ...

  4. luoguP3769 [CH弱省胡策R2]TATT

    luoguP3769 [CH弱省胡策R2]TATT PS:做这题前先切掉 P4148简单题,对于本人这样的juruo更助于理解,当然dalao就当练练手吧 题目大意: 现在有n个四维空间中的点,请求出 ...

  5. loj#2269. 「SDOI2017」切树游戏

    还是loj的机子快啊... 普通的DP不难想到,设F[i][zt]为带上根玩出zt的方案数,G[i][zt]为子树中的方案数,后面是可以用FWT优化的 主要是复习了下动态DP #include< ...

  6. Javascript类型转换的规则实例解析

    http://www.jb51.net/article/79916.htm 类型转换可以分为隐式转换和显式转换,所谓隐式转换即程序在运行时进行的自动转换,显式转换则是人为的对类型进行强制转换.Java ...

  7. jQuery蓝色修边tab标签切换

    jQuery蓝色修边tab标签切换,jQuery,tab选项卡,标签切换,jQuery蓝色修边tab标签广告代码切换是一款非常简单实用tab选项卡切换效果,自己定义好相关的html标签即可,选项卡切换 ...

  8. 图解mysql join

    原文:http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins 这个图文解释mysql join的各种技 ...

  9. 思科安全:加密流量威胁检测、加密流量威胁和恶意软件检测、识别无线干扰或威胁、Talos 情报源可加强对已知和新型威胁的防御、分布式安全异常检测

    思科DNA竞品比较工具 您的网络能够驱动数字化转型吗? 根据IDC调查,45%的受调研公司计划在未来两年内做好网络数字化的准备.查看数字化网络带来的结果和商业价值. 下载报告 思科 HPE 华为 Ar ...

  10. ES索引瘦身 禁用_source后需要设置field store才能获取数据 否则无法显示搜索结果

    在默认情况下,开启_all和_source 这样索引下来,占用空间很大. 根据我们单位的情况,我觉得可以将需要的字段保存在_all中,然后使用IK分词以备查询,其余的字段,则不存储. 并且禁用_sou ...