尧图网络科技 Logo 尧图网络科技
  • 首页
  • 关于我们
  • 建站服务
  • UI 设计
  • 案例展示
  • SEO 优化
  • 资讯中心
  • 联系我们

资讯详情

深度解读 · 专业分析

  • 首页
  • 资讯中心
  • /
  • 牛客网周赛120

最新资讯

  • 全部资讯
  • 行业动态
  • UI 设计
  • SEO 优化
  • 网站开发

牛客网周赛120

📅 发布时间:2026/6/19 9:13:26 👁 浏览次数:
牛客网周赛120

牛客网周赛120

牛客周赛Round120题解

 

A 无穷无尽的力量

略

 

B 无穷无尽的字符串

略

 

C 无穷无尽的力量2.0

稍加思考,发现 3*3 的棋盘可以跳到除中间外的任意点(止步于此) 而 3*4 以上的棋盘就能跳到任意点

对于 1*n 的棋盘,显然只能在初始格

对于 2*n 的棋盘,显然可以从第 1 列开始依次跳到第 3 列 ,第 5 列,一直到第 n 列 / 第 n-1 列 ,即可跳(n+1)/2 格

代码略

 

D 无穷无尽的小数

从简到难,先考虑两个小数循环节长度相同,大减小的情况

稍加思考发现结果的循环节事实上就是 大数循环节 - 小数循环节 的结果,而循环节长度最长为 100,超出了long long 的范围,因此采用高精度减法解决

接着考虑长度不同怎么搞?

由于循环节重复若干次组成的依然是循环节,因此直接取两个循环节的最小公倍数,将两个数扩大到相同长度即可,这样最大长度也才 10^4 ,数组完全装得下,高精减没问题

最后如果是小减大呢?

在计算器中试了一下,如果是 0.a-0.b(a<b) 的情况下,会得到 -0.(b-a) 的结果

这里拿 0.2222222 - 0.333333 为示例

得到 -0.1111111 ,循环节的 1 可以看成是 3 - 2 得到的

而本题不考虑负数,因此加一个1,对循环节来说,原本的循环节 x 变成了 9-x

事实上原本的 a - b 看成 1 + a - b 而小数位为了凑 1 需要每一位都凑一个 9

比如 - 0 . 1234 ,加一个1就相当于用 0.99999 去减这个数 ,也就成了 0.8765

本题错误点:循环节0与循环节9不相等(出题人估计没考虑到

代码略

 

E 无穷无尽的树

树形dp模板题,叶子节点没有贡献在dfs时直接判断入度为一的非根节点直接跳过即可

主要考虑一下怎么转移状态

我们定义两个数组 smd (son's max depth) 和 smn (son's max deep number) (蹩脚英文这一块,梦到什么取啥名) 用于记录每个节点子树删除叶子节点后最大深度与最大深度的节点数目

考虑每个点的初始化,一个孤独的非叶子节点最大深度显然是该点深度,节点数自然是 1

由于每个点的答案来自于子树,我们采取dfs递归,搜索完节点 u 的子树后再来更新 u 点的答案

对于一个节点 u 与它的子节点 v ,考虑三种情况

  • smd[v] > smd[u] : 说明 u 之前的子树最大深度不够大,更新最大深度与数目

    smd[u] = smd[v] ;

    smn[u] = smn[v] ;

  • smd[v]==smd[u] : 累计节点数即可

    smn[u] += smn[v] ;

  • smd[v] < smd[u] : 显然 v 的子树对 u 的答案无贡献,忽略即可

本体错误点:无向图链表开双倍空间。。。(what can I say

 

F 无穷无尽的数

快速幂与前缀和

算是一道典型的数论题,难度不算高,恶心程度视考试剩余时间与红温程度改变(数论题都这样的说

考虑一般情况 ,l 和 r 之间可以分为三部分:(事实上拆分成两头的碎块和中间的完整部分)

  • l 到第一次结束循环节的位置 (记为 lnxt

  • 最后一个循环节(r 所在的循环节)的开头(记为 rlst)到 r

  • lnxt +1 到 rlst-1 (即中间所有的完整循环节

先考虑碎块怎么处理

由于碎块长度不超过 10^5 ,直接前缀与后缀的方式以 o(n) 效率秒了,代码如下

     lld tm=1;//存10的次幂
    for(int i=1;i<=n;i++){
        int fnow=s[(i-1)%n]-'0';
        fm[i]=(fm[i-1] *10 %Mod +fnow) %Mod;//fm[i]表示 前i位组成的数%Mod 的结果
        int bnow=s[(n-i)%n]-'0';
        bm[i]=(bm[i-1] +bnow *tm %Mod) %Mod;//bm[i]表示 后i位组成的数%Mod 的结果
        tm=(tm*10) %Mod;
    }

 

接着考虑中间的完整块怎么搞

假设中间完整块总共有 num 个,每块长为 n,一块完整循环节 %Mod 的结果是 x ,于是我们把这 num 块拆开来看就成了:

x+x*10^n+x*10^{2n}+...+x*10^{(num-1)*n}

显然是个等比数列,采用等比数列求和化简为:

x*(\frac{{10^n}^{num}-1}{10^n -1})

考虑怎么求模998244353意义下的这一堆

x 可以在之前求前缀的时候顺手求了,10^n 乃至 {10^n}^{num} 显然采用快速幂的方法肥肠搞笑,而这里的除法也能用逆元的思想直接改为求 {10^n}^{Mod-2} 再乘起来就行(毕竟10^n-1 肯定和998244353互质

代码实现如下:

     lld Pow(lld a,lld b){
    lld ans=1;
    while(b){
        if(b&1) ans=ans*a%Mod;
        a=a*a%Mod;
        b>>=1;
    }
    return ans%Mod;
  }
     
    //下面是main函数中的一部分
    lld num=((rlst-1)-(lnxt+1)+1)/n;//块数
    lld q=Pow(10,n);//公比
    lld p=(Pow(q,num)-1)%Mod * Pow(q-1,Mod-2) %Mod; //等比数列化简后括号里那一坨
    ans=fm[n] *p %Mod;//fm[n] 就是一个完整循环节%Mod的结果

 

最后考虑怎么合并这三部分

显然让第一和第二部分乘10的对应次幂就行,这里依然使用快速幂计算10的幂次%Mod结果,注意一下具体夺少次就行

一般情况搞定了,接下来考虑一下特例

如果中间没有完整块,那么分为两个碎块依然可以按照前缀和后缀的方法搞定

如果 l 和 r 处于一个块的中间,直接从r 到 l 用算前缀的方法算就ok了

本体错误点:考试红温写错一堆。。。。果然数论提还是要沉下心来慢慢写

相关新闻

从原型到生产:大型语言模型实践指南

从原型到生产:大型语言模型实践指南

2026/6/19 11:54:48 查看详情
Java进阶 多线程

Java进阶 多线程

2026/6/19 7:27:49 查看详情
kettle从入门到精通 第111课 ETL之kettle webspoon7的docker部署详细教程

kettle从入门到精通 第111课 ETL之kettle webspoon7的docker部署详细教程

2026/6/18 15:53:32 查看详情
nginx 发布1.31.2 了

nginx 发布1.31.2 了

2026/6/20 8:09:24 查看详情
租车企业哪家好?温州聚游汽车服务的口碑与实力解读 - mypinpai

租车企业哪家好?温州聚游汽车服务的口碑与实力解读 - mypinpai

2026/6/20 8:09:24 查看详情
经典8位MCU MC68HC908SR12架构解析与嵌入式开发实战

经典8位MCU MC68HC908SR12架构解析与嵌入式开发实战

2026/6/20 8:09:24 查看详情
贵阳斜视养护调理

贵阳斜视养护调理

2026/6/20 8:09:24 查看详情
从“小山丘”到米家生态:西蒙电气智能灯具如何重塑品质生活 - 速递信息

从“小山丘”到米家生态:西蒙电气智能灯具如何重塑品质生活 - 速递信息

2026/6/20 8:07:10 查看详情
终极屏幕翻译工具使用指南:5分钟快速上手开源翻译软件

终极屏幕翻译工具使用指南:5分钟快速上手开源翻译软件

2026/6/20 8:07:10 查看详情
团队博客 5:Sprint 3——收官与优化

团队博客 5:Sprint 3——收官与优化

2026/6/20 0:00:19 查看详情
3分钟掌握微信语音转换:Silk v3解码器完整使用指南

3分钟掌握微信语音转换:Silk v3解码器完整使用指南

2026/6/20 0:01:25 查看详情
VAC进程监控模块完全解析:3种扫描类型与虚拟方法表技术揭秘

VAC进程监控模块完全解析:3种扫描类型与虚拟方法表技术揭秘

2026/6/20 0:01:25 查看详情
从Landsat到高分系列:手把手教你选择适合自己项目的遥感卫星数据

从Landsat到高分系列:手把手教你选择适合自己项目的遥感卫星数据

2026/6/20 3:05:19 查看详情
福州空调维修上门加氟移机空调不制冷、推荐本地老牌鑫盛达、冷顺安 - 我叫一

福州空调维修上门加氟移机空调不制冷、推荐本地老牌鑫盛达、冷顺安 - 我叫一

2026/6/20 4:00:16 查看详情
嵌入式调试器组件化界面与拖拽交互技术详解

嵌入式调试器组件化界面与拖拽交互技术详解

2026/6/20 2:29:50 查看详情
YOLOv11涨点改进| CVPR 2026 | 独家创新首发、特征融合改进篇| 引入CMGF 引导特征融合机制,实现对不同模态特征的自适应增强与高效融合,助力多模态目标检测,小目标检测或分割有效涨点

YOLOv11涨点改进| CVPR 2026 | 独家创新首发、特征融合改进篇| 引入CMGF 引导特征融合机制,实现对不同模态特征的自适应增强与高效融合,助力多模态目标检测,小目标检测或分割有效涨点

2026/6/19 22:53:17 查看详情
E-E-A-T 成第一权重:2027 年无经验内容将被彻底淘汰

E-E-A-T 成第一权重:2027 年无经验内容将被彻底淘汰

2026/6/20 4:40:29 查看详情
深圳福田园岭老小区搬家公司推荐 经验足师傅高效搬运攻略 - 从来都是英雄出少年

深圳福田园岭老小区搬家公司推荐 经验足师傅高效搬运攻略 - 从来都是英雄出少年

2026/6/18 22:29:04 查看详情

关于尧图

立足北京本地的一站式网站建设服务与设计教学平台,深耕企业网站定制开发、全网 SEO 优化及网络推广服务。

快速链接

  • 关于我们
  • 建站服务
  • 案例展示
  • 资讯中心

服务项目

  • 企业官网定制
  • UI 界面设计
  • SEO 优化推广
  • 移动端适配

联系方式

电话:400-XXX-XXXX

邮箱:info@zskr.cn

地址:北京市朝阳区 XXX 路 XX 号

© 2026 尧图网络科技 版权所有 | 京 ICP 备 XXXXXXXX 号