尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
小红的数字拆解【牛客tracker  每日一题】
小红的数字拆解时间限制1秒 空间限制256M网页链接牛客tracker牛客tracker 每日一题完成每日打卡即可获得牛币。获得相应数量的牛币能在【牛币兑换中心】换取相应奖品助力每日有题做丰盈牛币日益多题目描述小红拿到了一个偶数她希望你将其切割成尽可能多的偶数。你能帮帮她吗输入描述一个偶数x xx。1 ≤ x ≤ 10 10 5 1≤x≤10^{{10}^5}1≤x≤10105输出描述输出若干行从小到大输出每个偶数。示例1输入1024输出2 4 10说明拆分成 10 2 4 10241024三个偶数。示例2输入999999999999999999999999990输出999999999999999999999999990示例3输入202020输出0 0 0 2 2 2解题思路本题是贪心切割 字符串排序的模拟题核心是利用偶数的末位判定特性通过最短分段策略得到最多的偶数段再按大数规则排序输出。1. 最优切割策略一个数是偶数当且仅当它的末位是偶数数字0、2、4、6、8。要切割出最多的偶数段就要让每一段尽可能短每个偶数数字单独作为一段的末尾前面仅拼接连续的奇数数字。这样总段数等于原数中偶数数字的个数达到理论上限每段至少包含一个偶数数字不可能更多。2. 字符串分割实现从左到右遍历输入字符串遇到连续奇数时继续向后延伸直到找到第一个偶数数字。将起点到该偶数的闭区间作为一个切割段存入结果列表。从偶数的下一个位置继续重复上述过程直到遍历完成。输入保证为偶数因此末尾一定是偶数分割不会有剩余字符。3. 大数排序规则由于数字长度可达10 5 10^5105位无法转为整型比较采用字符串比较规则长度优先位数更短的数数值一定更小。字典序次之长度相同时按字符字典序从小到大排列对应数值从小到大。4. 复杂度分析分割过程一次线性遍历时间复杂度O ( L ) O(L)O(L)L LL为数字长度。排序过程设段数为k kk最多为L LL排序时间复杂度为O ( k log ⁡ k ) O(k \log k)O(klogk)单次比较最坏为O ( L ) O(L)O(L)整体可在1秒内完成。总结核心逻辑以每个偶数数字为分段结尾、前置连续奇数的贪心策略得到最多段数再按「长度优先、字典序为辅」的规则对所有段从小到大排序逐行输出。关键操作连续奇数匹配偶数结尾的分段方式、字符串大数比较排序、超长数字的纯字符串处理。效率保障分段仅需一次遍历排序复杂度可控完全适配十万位级别的输入规模。代码简要说明分段逻辑双指针i、j从左向右遍历j从i开始向后跳过所有奇数直到遇到偶数。将区间[i, j]作为一个分段存入向量v随后i跳到j1继续分割。排序比较函数先比较两段的长度通过下标差间接比较相对大小与实际长度一致短段在前。长度相同时逐位比较字符字典序小的段排在前面。输出结果按排序后的顺序遍历所有分段逐位输出对应字符每个分段占一行。输入优化关闭流同步并解绑 tie提升超长字符串的读取与输出效率。代码内容#includebits/stdc.husingnamespacestd;#defineendl\ntypedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvvt;typedefpairll,llpll;constll N1e310;constll INF1e18;constll M1e610;constll mod1e97;intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);string s;cins;vectorpllv;for(ll i0,j0;i(ll)s.size();){ji;while(j(ll)s.size()((s[j]-0)%21))j;v.push_back({i,j});ij1;}sort(v.begin(),v.end(),[](pll x,pll y)-bool{if(x.second-x.first!y.second-y.first)returnx.second-x.firsty.second-y.first;for(ll k0;kx.second-x.first;k){if(s[kx.first]!s[ky.first])returns[kx.first]s[ky.first];}returnfalse;});for(ll i0;i(ll)v.size();i){for(ll jv[i].first;jv[i].second;j)couts[j];cout\n;}return0;}
RELATED

相关推荐

零基础单片机开发入门系列:8天从裸机开发到打通RTOS

零基础单片机开发入门系列:8天从裸机开发到打通RTOS

上帝创造了世界后,就轮到亚当和夏娃们去折腾了。我们在上一个系列《零基础FPGA开发入门系列:7天亲手“造”一台计算机》中,从零搭建了一台完整的计算机硬件——那是"造物"的阶段。现在硬件已经有了,但它还不能自己动起来…

📅 2026/8/23 17:32:13
MLX框架入门:为什么Inkling-mlx-2bit是Apple Silicon的最佳选择

MLX框架入门:为什么Inkling-mlx-2bit是Apple Silicon的最佳选择

MLX框架入门:为什么Inkling-mlx-2bit是Apple Silicon的最佳选择 【免费下载链接】Inkling-mlx-2bit 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Inkling-mlx-2bit Inkling-mlx-2bit是基于MLX框架构建的2bit量化模型,专为Apple …

📅 2026/8/23 17:32:13
GripMock安全最佳实践:保护你的Mock服务器免受攻击

GripMock安全最佳实践:保护你的Mock服务器免受攻击

GripMock安全最佳实践:保护你的Mock服务器免受攻击 【免费下载链接】gripmock gRPC Mock Server 项目地址: https://gitcode.com/gh_mirrors/gr/gripmock GripMock作为一款功能强大的gRPC Mock服务器,在为开发团队提供便捷API测试环境的同时&…

📅 2026/8/23 17:32:14
MORE NEWS

更多资讯

📰

STM32H743双核实战指南:480MHz性能落地的关键陷阱与决策逻辑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

离线可用的软考机考模拟系统:技术选型与提分实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

ruflo:规则驱动的流程引擎如何实现动态路由与规则集解耦

最近捣鼓技术方案的时候,被一个叫 ruflo 的东西勾住了视线。第一眼看到这个名字,大多数人会以为又是一个工作流引擎或者流程编排框架,但把 rule 和 flow 拼在一起看,事情就没那么简单——它背后其实藏着一套“规则即流程”的思路。…

📰

直流减速电机PI闭环控制实战:从原理到参数整定

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

棒板电极空气电晕放电仿真:从电场建模到击穿电压预测

搞高压放电仿真的人,基本都绕不开棒板电极这个模型。不管是做绝缘子外绝缘特性分析、静电除尘器电极结构优化,还是研究电晕放电的等离子体化学过程,棒板电极和针板电极都是最常用的基础构型。这类电极的特点是高压电极曲率半径很小&#xff0…

📰

ITIL 4迁移的五大隐形陷阱:从价值流到数据治理的落地指南

大概从2019年ITIL 4正式发布到现在,凡是做IT服务管理的人,多多少少都被问过一句话:“我们什么时候迁到ITIL 4?”很多企业的回答都很干脆——已经在迁了。但真正经历过迁移的人心里都清楚,这件事远没有想象中那么简单。…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬