题意

给定一个十进制数 yyy,请选择一个进制 bbb,使得 yyy 转成 bbb 进制后大于或等于 bbb 进制下的 lll,且每位均为 000 到 999 之间的数码。求最大的 bbb 。

所有数据满足 10≤l≤y≤101810 \le l \le y \le 10^{18}10≤l≤y≤1018

Subtask T,yT,yT,y PointsPointsPoints
1 T=1,y≤104T=1, y \leq 10^{4}T=1,y≤104 20
2 T=1,y≤109T=1, y \leq 10^{9}T=1,y≤109 20
3 T=1T=1T=1 20
4 T≤500T \le 500T≤500 20
5 T≤100000T \le 100000T≤100000 20

题解

好奇怪的题啊。。。
原本想的是如果b很小就枚举,b很大的话转化后的数位数较少,直接枚举转化后的数,这样效率是max(yx,10x)max( \sqrt[x]{y} ,10^{x} )max(xy​,10x)的,甚至过不了80分。

设转化为bbb进制后的数为aaa,aaa的最高位为ama_mam​。
发现am⋅bma_m\cdot b^mam​⋅bm比其它项都大得多,即am⋅bm≤y≤am⋅bm+9×bm−1b−1a_m\cdot b^m \le y \le a_m\cdot b^m + 9\times \frac {b^m-1}{b-1}am​⋅bm≤y≤am​⋅bm+9×b−1bm−1​,考虑利用这个把边界缩小。
不等式的左边很好解,b≤yammb \le \sqrt[m]{\frac {y}{a_m}}b≤mam​y​​,令bbb从这个值开始向下枚举,直到不满足不等式的右边,发现这样在边界比较大的时候,枚举的范围不会很大。
对b≤100b \le 100b≤100的暴力,再枚举1≤m≤8,0≤am≤91 \le m \le 8, 0 \le a_m \le 91≤m≤8,0≤am​≤9 计算。复杂度大约不超过300⋅lg300 \cdot lg300⋅lg。 (还是过不去要玄学卡常)

DTOJ 4745. 进制转换相关推荐

  1. python中不同进制的整数之间可以直接运算_Python 进制转换、位运算

    一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...

  2. c语言进制转换pdf下载,C语言实现任意进制转换.doc

    C语言实现任意进制转换.doc includestdio.h#includemath.h#includestring.hvoid dtox(double num,int jz)char xnum100 ...

  3. 进制转换converse

    栈和队列是在软件设计中常用的两种数据结构,它们的逻辑结构和线性表相同. 其特点在于运算受到了限制:栈按"后进先出"的规则进行操作,队按"先进先出"的规则进行操作 ...

  4. 进制转换 位运算(包括补码、原码、反码、~0等一些零碎东西一次说清)

    我发现网上关于标题上的内容介绍的都很零碎,因此为了方便查找.也为了本人对这一部分的充分理解,就想着写一篇这样的博客(我分成了几个部分,以便查找): 一.进制转换 让我们先来看看各个进制的定义: 十进制 ...

  5. 每日一题(进制转换)

    前言:为了让小伙伴更方便的学习编程语言,小白每天都会分享一道编程题.小白也创建了一个微信公众号,会同步更新题目和相关的视觉领域的知识,如果小伙伴不方便在网页上阅读文章,可以关注微信公众号"小 ...

  6. 进制转换数据结构c语言不用栈,急求!!!用数据结构(C语言)利用栈实现十进制向二(八)进制转换,要有注释,谢谢!...

    匿名用户 1级 2013-12-05 回答 #include #include #include typedef unsigned int data_type; //结点数62616964757a68 ...

  7. 计算机中的数制和编码教案,计算机《数制与编码进制转换》公开课教案.doc

    <计算机应用基础>教案 新田县职业中学 蒋玲 PAGE PAGE 7 数制与编码--进制转换 [学情分析]本课内容是在学生已经学习了计算机发展与应用.计算机系统的组成等知识的基础上进行,已 ...

  8. 进制转换(完成Python14作业的背景补充)

    来源于小甲鱼进制转换视频 数的认识 数,是一个无形的.抽象的概念,它是人类用来表示数量的一个智力的产物 "一百"是一个抽象概念,用到计数书本有几页就会变成具体的.有形的概念 我们要 ...

  9. python 进制转换_Python数据结构与算法——递归应用之进制转换

    高考加油 在前面的文章中堆栈也用于进制转换(存放余数).而递归也可以用于进制转换,有固定模式循环,并且可以规模越来越小的问题都可以转换成递归 栈与递归之间一定有点联系 整数转换成任意进制 日常运算都是 ...

最新文章

  1. OkHttp源码分析
  2. 硅谷“封城”前夜的L4级别无人车试乘实况,及其背后创新技术的深度剖析
  3. 【简洁代码】1061 判断题 (15分)_18行代码AC
  4. 前后端分离如何解决跨域的问题?
  5. 语义分割概念及应用介绍
  6. 10本最火的中台与数字化转型图书,朋友圈都在传
  7. [WPF自定义控件] 开始一个自定义控件库项目
  8. .Net的文件格式(zz)
  9. PHP实现的服务器端,PHP实现服务器端允许客户端ajax跨域
  10. Python考试题库(含答案)
  11. 如何监控网页卡顿和崩溃?
  12. 企业思想家:专家详解元宇宙逻辑和产业机会 (5000余字)
  13. CondaVerificationError;conda install verifying transactions一直在转
  14. 设计心理学2-与复杂共处【读书笔记】
  15. MissionPlanner MP地面站添加三维地图支持
  16. python实现共轭梯度算法
  17. 相约AIIA!百度飞桨深度学习公开课预约中
  18. 工作八年的程序员,却拿着毕业三年的工资,再不开窍就真晚了...
  19. oracle11g 没有scott,Oracle11g中没有scott用户怎么办啊???
  20. 部署静态页面到腾讯云服务器

热门文章

  1. 解决Mac 80端口被占用
  2. Win10微信查看图片卡顿或发送图片卡顿的原因和解决方法
  3. PHP 常用函数 - 数组函数
  4. 【Vue学习笔记】尚硅谷Vue2.0+Vue3.0全套教程丨vue.js从入门到精通
  5. 前端:JavaScript (五)XML DOM
  6. 南邮计算机实验报告合集【非常全】
  7. cmnet和cmwap的访问
  8. MySQL DELETE 操作后没有释放磁盘空间
  9. Go语言Win10环境配置
  10. 深入理解Same-Origin安全机制