传送门

还是猜结论呢
然后我们就想我们可以每次去掉尽量多的位数来保证次数最小,假装这是对的,先写一发,A了
考虑如何去掉尽量多的位数,我们可以找到最大的几位的不下降序列,把最后一个-1,后面全部改成9,这样我们就得到了一个每次去掉数字最前的一个不下降序列,然后将最后一位+1的做法
然后发现有一种情况是不合法的,举个例子:166621
这样我们第一次如果是找不下降序列,就会找到1666,减掉1后就是1665,这就不是不下降了,我们只能取159999,所以对于这种最后一位和倒数第二位是相同的不下降序列,我们要特判一下
所以考虑暴力去找最后一位数字在和他这个块里第一个位置,那么复杂度就可以到\(O(n^2)\)
考虑怎么优化,我们发现我们找到这样一个块之后,对于块内的每个元素每次都重新去找一遍这个块是不必要的,记下这个块就好了
代码:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
void read(long long &x){char ch;bool ok;for(ok=0,ch=getchar();!isdigit(ch);ch=getchar())if(ch=='-')ok=1;for(x=0;isdigit(ch);x=x*10+ch-'0',ch=getchar());if(ok)x=-x;
}
#define rg register
const int maxn=5e5+10;
char a[maxn];int ans,n,s[maxn],w[10];
int main(){scanf("%s",a+1);n=strlen(a+1);for(rg int i=1;i<=n;i++)s[i]=a[i]-'0';int k=0;for(rg int i=1;i<=n;i++){int las=n,d=i;if(s[k+1]>=s[k])k=0;for(rg int j=d+1;j<=n;j++){if(s[j]<s[j-1]){las=j-1;break;}if(k>=j&&s[j]==s[j-1]){las=j-1;break;}}if(las==n){ans++;break;}if(s[las]==s[las-1]){k=las;for(rg int j=las;j;j--)if(s[j]!=s[j-1]){las=j;break;}}ans++,s[n]++;int now=n;s[i]=s[las]=0;while(now&&s[now]>=10)s[now-1]+=s[now]/10,s[now]%=10,now--;i=las;}printf("%d\n",ans);
}

转载于:https://www.cnblogs.com/lcxer/p/10710068.html

AT2341 Increasing Numbers相关推荐

  1. [agc011e]increasing numbers

    题意: 如果一个十进制非负整数的所有数位从高位到低位是不减的,我们称它为"上升数",例如1558,11,3,0都是上升数,而10,20170312则不是: 给定整数N,求最小的k使 ...

  2. 微生物预测年龄,皮肤比肠道更准确

    58 文献速递 众所周知,人类肠道微生物群会随着年龄而变化,但是人体微生物群作为年龄的预测因子的相对价值以及在人群的预测稳健性尚不清楚.本研究用多个公共数据进行了随机森林回归,测试了口腔,肠道和皮肤( ...

  3. NBT-19年2月刊4篇35分文章聚焦宏基因组研究

    新年4篇35分文章聚焦宏基因组研究 Nature Biotechnology (NBT,自然生物技术,IF 35.7)在2019年2月刊(https://www.nature.com/nbt/volu ...

  4. NBT-新年4篇35分文章聚焦宏基因组研究

    文章目录 新年4篇35分文章聚焦宏基因组研究 1. 超高速细菌基因组检索技术 摘要 序列搜索方法 2. 宏基因组中设计全面可扩展探针捕获序列多样性 摘要 CATCH设计探针 3. 1520个人类肠道可 ...

  5. 每日英语:China's Youth to Employers: I Quit

    For increasing numbers of young Chinese professionals, the first day back at work after the Lunar Ne ...

  6. 每日英语:Would We Be Healthier With A Vegan Diet?

    A July 2012 Gallup poll puts the percentage of American adults who say they consider themselves vege ...

  7. CEF(包含均衡负载)

    (转自: http://baike.baidu.com/view/51048.htm) 传统路由器的基本作用是路由计算和包转发,通常基于共享存储器体系结构,采和集中式CPU,即单个CPU(或多个CPU ...

  8. Paper:GPT-3《 Language Models are Few-Shot Learners》的翻译与解读

    Paper:GPT-3< Language Models are Few-Shot Learners>的翻译与解读 目录 <GPT-3: Language Models are Fe ...

  9. performance and scalability

    就某种算法而言: performance 性能,可能是某算法的预测(分类)精度.耗时等指标. scalability 可伸缩性,即规模可调整. 应用程序应对负载改变的能力,比如,一个系统在服务器于10 ...

最新文章

  1. $Django importlib与dir知识,手写配置文件, 配置查找顺序 drf分页器drf版本控制
  2. xcode工程命令行生成ipa安装包
  3. golang.org/x/net包的安装方法
  4. python网址太长_python中url太长怎么解决
  5. python中write什么意思_Python中操作文件之write()方法的使用教程
  6. 操作系统学习笔记 002 安装NASM
  7. 大话存储系列21——存储系统内部IO 上
  8. Chrome插件英雄榜(第二期)
  9. How to extract datafiles from asm diskgroup?
  10. php fckeditor,FCKeditor的安装(PHP)
  11. Poco::TCPServer框架解析
  12. sublime使用指南
  13. 扫描仪显示计算机繁忙或故障,为什么我的兄弟打印机每次扫描图像文件总是显示连接计算机,但是电脑就没有弹出那个框让我选择?请求高手...
  14. 【Nginx】Nginx配置文件详解
  15. 深度学习目标检测数据集下载
  16. 硬盘分区表格式GUID和MBR知识普及
  17. matlab函数之reshape()
  18. linux中的chmod命令详细介绍、使用及实例
  19. 开发者周刊:英特尔再爆重大芯片漏洞;微软开源Bing搜索关键算法;Facebook联合创始人呼吁拆分Facebook
  20. qzezoj 1590 买玩具

热门文章

  1. leetcode887. 鸡蛋掉落 谷歌经典面试题的一般情况
  2. VMware Workstation Player 官方下载地址(非商用免费)
  3. 如何在ArcGIS中构建生成三维地形地貌场景
  4. QQ群消息的屏蔽与重要消息自动提取
  5. java写一个查询详情接口_旅游景点api 景区详细信息查询服务
  6. python安装后桌面没有显示图标_为甚么我装置python后桌面没有快捷图标双击装置文件夹...
  7. Arrhenius 方程的数学表达式背后的物理意义
  8. oracle的监听日志满了,对于Oracle监听日志定期清理
  9. [病毒分析]熊猫烧香分析
  10. 现代数学的布尔巴基学派基础