打卡信奥刷题(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/11/6 9:44:45 阅读更多 →
打卡信奥刷题(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/11/6 15:16:59 阅读更多 →
Day03-系统设计总览

Day03-系统设计总览

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

2026/10/30 20:46:54 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/6 15:21:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/6 9:29:27 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/6 22:01:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/6 22:01:11 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/6 8:08:42 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/6 22:01:09 阅读更多 →

日新闻

周新闻

月新闻