打卡信奥刷题(3495)用C++实现信奥题 P10792 『SpOI - R1』笑起来最帅的小孩
P10792 『SpOI - R1』笑起来最帅的小孩题目描述本题包含多组数据。有一个数字序列a aa长度为n nn。序列中每一项均为0 00到9 99的数字。另有一个空数字序列b bbb bb中会出现一个光标你可以理解为能够出现在数字之间或整个数字序列之前或整个数字序列之后的细线此时光标前后均没有数字。现在向b bb中依次输入数字序列a aa。每输入一个数字数字立即出现在光标之后。接下来光标立即随机地移动到任意一个数字之前或所有数字之后。随机是均匀的。换句话说光标移动到所有可移动到的位置的概率是均等的。现在告诉你数字序列a aa。你需要输出的是最终得到的b bb直接转为十进制后的大小无视前导零的期望对质数2007072007 20070720072007072007取模。由于a aa可能很长所以本题采用压缩输入。具体来说最开始a aa是空的数字序列输入会给你一个k kk长的二元组数组其中第i ii项为( x i , l i ) (x_i,l_i)(xi​,li​)表示数字x i x_ixi​连续出现l i l_ili​次接在之前的a aa之后。你可以用此方法解压缩真正的a aa再解决问题。在本题你可以对期望的理解对于一个变量可能的结果X XX若其权值为v X v_XvX​得到该结果的概率为p X p_XpX​则对于结果集S SS变量的期望E ∑ X ∈ S p X v X E\sum\limits_{X\in S}p_Xv_XEX∈S∑​pX​vX​。如果你不知道如何对有理数取模请查看此题。输入格式第一行一个整数T TT表示数据组数。对于每组数据一行一个整数k kk表示a aa压缩后得到的二元组数组包含多少项。接下来共k kk行每行两个整数x i , l i x_i,l_ixi​,li​表示在上一项所得a aa序列的基础上在末尾增加l i l_ili​个数字x i x_ixi​得到新的a aa序列。你可以用这种方式解压缩真正的a aa序列。输出格式对于每组数据输出一行一个整数表示在光标每次都随机移动的情况下可能得到的b bb转化为十进制后的大小无视前导零的期望对质数2007072007 20070720072007072007取模的值。输入输出样例 #1输入 #11 2 4 1 2 1输出 #133输入输出样例 #2输入 #21 3 1 2 3 1 7 2输出 #21204285426说明/提示数据范围本题开启子任务捆绑和子任务依赖。令n ∑ i 1 k l i n\sum\limits_{i1}^k l_ini1∑k​li​。对于100 % 100\%100%的数据保证1 ≤ T ≤ 15 1\leq T\leq 151≤T≤151 ≤ n ≤ 2 × 10 9 1\leq n\leq 2\times 10^91≤n≤2×1091 ≤ k ≤ 10 5 1\leq k\leq 10^51≤k≤105且对于任意i ii均有0 ≤ a i ≤ 9 0\leq a_i\leq 90≤ai​≤91 ≤ l i ≤ 2 × 10 9 1\leq l_i\leq 2\times 10^91≤li​≤2×109。SubtaskT ≤ T\leqT≤n ≤ n\leqn≤特殊性质得分子任务依赖115 15152 × 10 9 2\times 10^92×109A AA10 1010无215 1515100 100100无15 1515无35 552000 20002000无15 1515245 5510 6 10^6106无15 15152,355 552 × 10 9 2\times 10^92×109无45 45451,2,3,4特殊性质A AA保证在解压缩后的a aa中任意一个数字都出现了最多一次。C实现#includeiostreamusingnamespacestd;typedeflonglongll;constll mod2007072007;constintK1e57;intk;structnode{ll x,l;}a[K];llksm(ll x,ll y){ll ans1;x%mod;while(y){if(y1)ansans*x%mod;xx*x%mod;y1;}returnans;}intmain(){intT;cinT;while(T--){cink;ll part10,part2,part3;ll n0;for(inti1;ik;i){cina[i].xa[i].l;na[i].l;part1(part1a[i].x*a[i].l%mod)%mod;}part2((ksm(10,n)-1)%modmod)%mod*ksm(9,mod-2)%mod;part3ksm(n,mod-2);cout((part1*part2)%mod*part3)%modendl;}return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容

相关新闻

彻底搞懂值传递、引用传递与地址传递:从概念到实战避坑指南

彻底搞懂值传递、引用传递与地址传递:从概念到实战避坑指南

1. 项目概述:从一次“诡异”的Bug说起 那天下午,我正喝着咖啡,同事小张一脸困惑地跑过来,指着屏幕上的代码问我:“哥,你看这段代码,我明明在函数里修改了这个对象,为什么外面打印出来…

2026/9/13 12:02:02 阅读更多 →
打卡信奥刷题(3494)用C++实现信奥题 P10784 【MX-J1-T4】『FLA - III』Wrestle

打卡信奥刷题(3494)用C++实现信奥题 P10784 【MX-J1-T4】『FLA - III』Wrestle

P10784 【MX-J1-T4】『FLA - III』Wrestle 题目背景 原题链接:https://oier.team/problems/J1D。 在 2022 年末,疫情将西北某不知名知名学校的大多数学生关在家中上网课,安同学还不知道,他和语文老师的对决已然悄无声息地开始了…

2026/9/7 6:07:34 阅读更多 →
Day03-系统设计总览

Day03-系统设计总览

0、开篇:系统设计到底设计了什么?上一节我们提到了需求工程,它回答了"要做什么",本篇我们聊一聊系统设计,系统设计回答的其实是"怎么把它做出来"。很多同学一听到"系统设计"四个字&…

2026/9/13 14:48:07 阅读更多 →

最新新闻

150元、3小时:用ESP32开发板拼装一台自动避障智能小车

150元、3小时:用ESP32开发板拼装一台自动避障智能小车

150元、3小时:用ESP32开发板拼装一台自动避障智能小车 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 这是一篇ESP32智能小车的完整落地记录。不到3小时&#…

2026/9/13 18:56:49 阅读更多 →
bokeh.sampledata 完全指南:数据集模块的安装方式、代理加载机制与全部内置数据集目录

bokeh.sampledata 完全指南:数据集模块的安装方式、代理加载机制与全部内置数据集目录

bokeh.sampledata 完全指南:数据集模块的安装方式、代理加载机制与全部内置数据集目录 【免费下载链接】bokeh Interactive Data Visualization in the browser, from Python 项目地址: https://gitcode.com/GitHub_Trending/bo/bokeh bokeh.sampledata 是 B…

2026/9/13 18:56:49 阅读更多 →
Label Studio TextArea 标签完全指南:从文本标注配置到源码级提交机制

Label Studio TextArea 标签完全指南:从文本标注配置到源码级提交机制

Label Studio TextArea 标签完全指南:从文本标注配置到源码级提交机制 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/la/labe…

2026/9/13 18:56:49 阅读更多 →
浏览器缓存机制详解:从强缓存到nginx配置,解决页面不更新问题

浏览器缓存机制详解:从强缓存到nginx配置,解决页面不更新问题

你有没有遇到过这种场景:前端刚上线一个版本,自己也拿手机开飞行模式再关掉,清了好几次缓存,结果用户群里还是有人截图说“页面怎么还是老样子”“新功能去哪了”。或者你自己在公司电脑上验证一切正常,回家一打开还是…

2026/9/13 18:56:49 阅读更多 →
长事务想撤几步?TiDB SAVEPOINT 快速部分回滚

长事务想撤几步?TiDB SAVEPOINT 快速部分回滚

长事务想撤几步?TiDB SAVEPOINT 快速部分回滚 【免费下载链接】tidb TiDB is built for agentic workloads that grow unpredictably, with ACID guarantees and native support for transactions, analytics, and vector search. No data silos. No noisy neighbor…

2026/9/13 18:56:49 阅读更多 →
Authelia 生成 ML-DSA 后量子密钥对:authelia crypto pair mldsa generate 命令详解

Authelia 生成 ML-DSA 后量子密钥对:authelia crypto pair mldsa generate 命令详解

Authelia 生成 ML-DSA 后量子密钥对:authelia crypto pair mldsa generate 命令详解 【免费下载链接】authelia The Single Sign-On Multi-Factor portal for web apps. OpenID Certified™ and Post-Quantum Cryptography Ready. 项目地址: https://gitcode.com/…

2026/9/13 18:55:48 阅读更多 →

日新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/13 16:51:11 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/12 18:29:34 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/12 19:02:44 阅读更多 →