news 2026/4/25 4:52:03

丛林木马【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
丛林木马【牛客tracker 每日一题】

丛林木马

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

朽木裂,雷霆惊,丛林木马怒冲天。

众所周知,如果给你两个数a , b a,ba,b要你计算a × b = c a×b=ca×b=c的值,你就知道要这么做:把每一位相乘并且乘上它们的10 k 10k10k然后相加,其中k kk表示对应数位的幂次。

有一次,可怜的Z M ZMZM不小心把“相乘”中的所有乘法运算都算成了加法,她想让你帮忙算算,这样算出来的结果是多少?

输入描述:

全文第一行输入一个整数T ( 1 ≤ T ≤ 10 5 ) T(1≤T≤10^5)T(1T105),表示数据组数。

每行输入两个正整数a , b ( 1 ≤ a , b ≤ 10 10 5 ) a,b(1≤a,b≤10^{10^5})a,b(1a,b10105),表示两个因数。

数据保证∑ ∣ a ∣ , ∑ ∣ b ∣ ≤ 10 6 ∑∣a∣,∑∣b∣≤10^6a,b∣≤106,其中∣ a ∣ , ∣ b ∣ ∣a∣,∣b∣a,b表示两个数的位数。

输出描述:

每行输出一个数表示你计算出的答案,为方便输出,你只需要输出最终结果对998244353 998244353998244353取模后的值即可。

示例1

输入:

4 12 13 123 456 1314520 5201314 998244353 100000007

输出:

50 1737 45610838 900000063

说明:

对于样例 #1:
把每一位拆开并且相加,每一个和统计出来:20 + 13 + 12 + 5 = 50 20+13+12+5=5020+13+12+5=50

对于样例 #2:

它们的和是:500 + 150 + 106 + 420 + 70 + 26 + 403 + 53 + 9 = 1737 500+150+106+420+70+26+403+53+9=1737500+150+106+420+70+26+403+53+9=1737

解题思路

本题核心是数学公式化简+大数模运算,破解错误乘法的计算规则。通过展开数位计算式推导得出:将乘法替换为加法后的总结果 = 数字a aa的模值× ××b bb的位数+ ++数字b bb的模值× ××a aa的位数,最终对998244353 998244353998244353取模。输入为超长数字字符串(最长1 e 5 1e51e5位),逐位遍历计算大数的模值,同时统计数字长度。针对1 e 5 1e51e5组测试数据、总长度1 e 6 1e61e6的约束,采用快速输入优化,全程线性遍历处理字符串,无复杂运算,时间复杂度为O ( ∑ ∣ a ∣ + ∑ ∣ b ∣ ) O(\sum |a|+\sum |b|)O(a+b),高效完成计算。

总结

核心逻辑:利用数学推导将复杂数位求和化简为简单公式,规避暴力枚举。
关键操作:字符串读取超长数字、逐位取模、统计位数、公式计算。
效率保障:线性处理数据+快速I O IOIO,完美适配大数据量与时间空间限制。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=1e3+10;constll p=1e9+7;constll INF=1e18;constll M=1e6+10;constll mod=998244353;voidsolve(){string a,b;cin>>a>>b;ll la=a.size();ll lb=b.size();ll x=0,y=0;for(ll i=0;i<la;i++){x=x*10+(a[i]-'0');x%=mod;}for(ll i=0;i<lb;i++){y=y*10+(b[i]-'0');y%=mod;}cout<<((x%mod*lb)%mod+(y%mod*la)%mod)%mod<<'\n';}intmain(){ll t;cin>>t;while(t--)solve();return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 4:46:39

深度学习中批标准化技术原理与实践指南

1. 深度神经网络训练加速利器&#xff1a;批标准化技术解析在深度神经网络训练过程中&#xff0c;我们经常会遇到训练速度缓慢、模型收敛困难的问题。这些问题往往源于所谓的"内部协变量偏移"现象——随着网络层数的加深&#xff0c;各层输入的分布会不断发生变化&am…

作者头像 李华
网站建设 2026/4/25 4:39:18

从零到一构建高效Android开发团队:总监实战指南

在当今移动互联网时代,Android平台作为全球最大的移动操作系统,占据着举足轻重的地位。对于企业而言,拥有一支高效的Android开发团队是业务成功的基石。本文将从Android开发总监的视角出发,详细探讨如何从零开始搭建团队、制定规范、执行技术规划、解决核心难点,并确保项目…

作者头像 李华
网站建设 2026/4/25 4:38:21

【代码】计及电池储能寿命损耗的微电网经济调度

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和…

作者头像 李华
网站建设 2026/4/25 4:37:27

GPU硬件编码器技术演进与实时视频处理优化

1. GPU硬件编码器技术演进与核心价值现代GPU硬件编码器已经成为实时视频处理领域不可或缺的核心组件。与传统的软件编码相比&#xff0c;硬件编码器通过专用电路实现了数量级的性能提升。以Intel QuickSync为例&#xff0c;其编码吞吐量可达同代CPU软件编码的8-10倍&#xff0c…

作者头像 李华