《P3216 [HNOI2011] 数学作业》

题目描述

小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题:

给定正整数 n,m,要求计算 Concatenate(n)mod m 的值,其中 Concatenate(n) 是将 1∼n 所有正整数 顺序连接起来得到的数。

例如,n=13,Concatenate(n)=12345678910111213。小 C 想了大半天终于意识到这是一道不可能手算出来的题目,于是他只好向你求助,希望你能编写一个程序帮他解决这个问题。

输入格式

一行两个正整数 n,m。

输出格式

输出一行一个整数表示答案。

输入输出样例

输入 #1复制

13 13

输出 #1复制

4

说明/提示

【数据范围】

对于 30% 的数据,1≤n≤106;
对于 100% 的数据,1≤n≤1018,1≤m≤109。

  • 2023.4.20 添加一组 hack 数据。

代码实现:

#include<iostream> #include<cstring> using namespace std; unsigned long long n, mod, pow10[20]; struct mat { int m[105][105] = {}; mat() {memset(m,0,sizeof(m));} mat operator * (const mat b) { mat res; for(int i = 1;i <= 3;i++) for(int j = 1;j <= 3;j++) for(int k = 1;k <= 3;k++) { res.m[i][j] += 1ll * m[i][k] * b.m[k][j] % mod; res.m[i][j] %= mod; } return res; } void output() { for(int i = 1;i <= 3;i++) { for(int j = 1;j <= 3;j++) printf("%lld ",m[i][j]); printf("\n"); } } }; mat qpow(mat x, long long b) { mat res; for(int i = 1;i <= 3;i++) res.m[i][i] = 1; while(b) { if(b&1) res = res * x; x = x * x; b >>= 1; } return res; } int cnt_dig(long long x) { int cnt = 0; while(x) { cnt++; x /= 10; } return cnt; } int main() { pow10[0] = 1; for(int i = 1;i < 20;i++) pow10[i] = pow10[i-1] * 10ll; scanf("%lld%lld",&n,&mod); mat trans, res; for(int i = 1;i <= 3;i++) res.m[i][i] = 1; for(int i = 1;i <= cnt_dig(n);i++) { trans.m[1][2] = trans.m[2][2] = trans.m[2][3] = trans.m[3][3] = 1; trans.m[1][1] = pow10[i] % mod; if(i == 1) res = res * qpow(trans, min(n-pow10[i-1], pow10[i]-pow10[i-1]-1)); else res = qpow(trans, min(n-pow10[i-1]+1, pow10[i]-pow10[i-1])) * res; } printf("%lld",(res.m[1][1] + 2ll * res.m[1][2] + res.m[1][3]) % mod); return 0; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1215546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql生成的redo 记录是什么?

1.事务id 2.redo log的操作类型 3.被修改的数据页标识(比如表空间号,页号,页内偏移量) 4.修改后的数据 5.修改长度 6.日志序列号lsn

.NET周刊【12月】

公告 此前国内 .NET 周刊的更新节奏一直参考 .NET 国际周刊。但由于国际周刊更新频率不稳定,导致国内周刊发布也不固定,内容常常滞后于主线进展。 因此,2026 年起将调整为新的更新模式:不再等待国际周刊同步。若国…

FastAPI系列(11):静态文件请求

本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/19503695 在 Web 开发中,需要请求很多静态资源文件(不是由服务器生成的文件),如 css/js 和图片文件等。 示例import uvicorn from fastapi import F…

DAY42:统计前后缀下标Ⅰ+反转链表

今天第一题不是链表的题&#xff0c;本来以为是哈希表的题&#xff0c;但是想到的思路不是哈希表。第二题是原来做过的反转链表&#xff0c;但这次是在力扣做&#xff0c;上次是自己测试&#xff0c;这次是官方的测试&#xff0c;代码也稍有不同。 题目一&#xff1a;统计前后…

大语言模型(LLM)学习原理深度解析:从超级学生到词语社交网络

文章将大语言模型比喻为"超级学生"&#xff0c;通过三步学习&#xff1a;1)词元化将文字转为数字编码&#xff1b;2)建立词语社交网络&#xff0c;统计词语间关联强度&#xff1b;3)玩文字接龙游戏预测最可能的下一个词。LLM学习的是语言模式和思维方式而非固定答案&…

程序员必看!LoRA大模型微调技术详解:从概念到实践的收藏级教程

文章介绍LoRA技术通过低秩分解模拟参数变化&#xff0c;冻结预训练模型参数只训练少量新增矩阵&#xff0c;实现高效微调。详细解释了LoRA的概念、特点、优缺点&#xff0c;以及训练过程中的参数选择&#xff08;如rank、alpha&#xff09;和技巧。LoRA具有节省存储、不增加推理…

强烈安利8个AI论文网站,继续教育学生搞定论文必备!

强烈安利8个AI论文网站&#xff0c;继续教育学生搞定论文必备&#xff01; AI 工具让论文写作不再难 在当今这个信息爆炸的时代&#xff0c;继续教育学生面临着越来越高的学术要求。无论是撰写毕业论文还是完成研究项目&#xff0c;都需要大量的时间和精力。而随着 AI 技术的不…

2025最新大模型面试经验汇总+全套学习资源,小白到大神的进阶之路

新大模型面试经验汇总全套学习资源&#xff0c;小白到大神的进阶之路 文章汇总了多家科技公司的大模型(LLM)相关面试经验&#xff0c;包括字节跳动、网易伏羲、好未来等公司的面试问题和回答。同时提供了一套系统的大模型学习路线图&#xff0c;从基础概念理解到API应用开发&a…

基于时空异质性与跨模式交互的多模式交通需求预测:元学习方法详解

本文提出MMDNet模型&#xff0c;通过时空异质性元参数学习和多模式统一图生成两个核心模块&#xff0c;解决多模式交通需求预测中的异质性和交互建模问题。实验表明&#xff0c;该模型在三个城市数据集上提升预测性能6.65%&#xff0c;并展现出强大的跨城市泛化能力&#xff0c…

转行AI的工程师看过来:Transformer+注意力机制详解,手写可运行PyTorch代码

本文面向想转行AI的软件工程师&#xff0c;从工程视角讲解Transformer与注意力机制的核心原理。通过代码搜索比喻解释Self-Attention的Q/K/V机制&#xff0c;详述Multi-Head Attention、位置编码及编码器层结构&#xff0c;并提供可运行的极简版PyTorch实现。文章对比了BERT与G…

CST License(Flexnet)设置与问题处理方法 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

AI大模型面试宝典:全面解析大模型技术,助你轻松应对各类面试问题

本文系统梳理了AI大模型开发技术的面试要点&#xff0c;涵盖增量预训练、知识蒸馏、推理加速等多个维度&#xff0c;并提供七阶段学习路线图及视频教程、电子书、面试题等资源&#xff0c;帮助程序员系统掌握大模型技术&#xff0c;提升面试竞争力。AI 大模型技术经过2025年的狂…

大模型时代,构建高质量数据基础设施的五大关键

随着大模型与智能体兴起&#xff0c;传统数据基础设施面临体系性变革&#xff0c;高质量数据价值凸显。未来AI将从"生成内容"转向"解决复杂问题"&#xff0c;数据需具备实时性、一致性和可解释性。产业应构建"用户反馈-场景数据-模型迭代"闭环&a…

安全工具篇魔改二开CS消除流量特征Profile请求个性主题反编译去暗桩

免杀对抗——第一百六十三天 安全工具篇&魔改二开CS&消除流量特征&Profile请求&个性主题&反编译去暗桩 前置知识 今天是关于CS免杀的部分&#xff0c;之前都是针对生成的木马进行免杀&#xff0c;但是在反连的过程中&#xff0c;我们的流量也是有特征的…

为什么程序员都在学大模型?掌握未来AI核心技术的全面指南

大模型已成为AI变革核心引擎&#xff0c;深入各行各业。掌握RAG、AI Agent等技术的人才需求旺盛&#xff0c;薪资优厚。开源生态如DeepSeek、通义千问为学习者提供绝佳机会。"大模型之心Tech"社区提供全栈学习路线、技术交流和求职资源&#xff0c;帮助小白入门、进阶…

LLM微调终极指南:第七阶段监控与维护,让AI模型永不失控!【必收藏】

LLM微调第七阶段聚焦监控与维护&#xff0c;构建三层架构与五条监控链路&#xff0c;涵盖性能、内容、漂移、Agent行为、反馈闭环及版本控制六大子系统&#xff0c;确保模型长期稳定、安全、可演进。通过持续监控与反馈闭环实现"数据→模型→服务→反馈→再进化"的完…

【2026全网首发】AI智能体完全指南:面试必备+大模型开发实战+学习资源全解析

本文系统介绍AI智能体的核心概念、架构设计与实战应用&#xff0c;涵盖与普通大模型调质的本质区别、ReAct模式、工具调用机制、记忆系统设计等关键技术。同时提供大模型学习路线图、行业报告、面试真题等丰富资源&#xff0c;帮助读者从基础到进阶系统掌握AI智能体开发&#x…

【大学院-筆記試験練習:线性代数和数据结构(16)】

大学院-筆記試験練習&#xff1a;线性代数和数据结构&#xff08;16&#xff09; 1-前言2-线性代数-题目3-线性代数-参考答案4-数据结构-题目5-数据结构-参考答案中文解释&#xff08;题意&#xff09;日语答案&#xff08;1&#xff09;&#xff08;2&#xff09;&#xff08;…

生物医学研究新利器:自我进化LLM智能体架构与实战

STELLA是一个专为生物医学研究设计的自我进化AI智能体系统&#xff0c;通过四大智能体协同工作&#xff0c;实现动态扩展工具库和可进化推理模板库。在多个生物医学基准测试中表现优异&#xff0c;准确率随使用经验提升近一倍。该系统能加速科学发现&#xff0c;降低技术门槛&a…

【必藏】大模型入门指南:从成本到架构的全景解析,程序员小白必看

本文解析了大模型基础知识&#xff0c;包括高昂训练成本(13B模型需40万美元)、Transformer架构原理、不同语言tokenization效率差异、LLaMA架构优势、反向传播训练过程及高质量数据的重要性。强调对话能力源于文本补全&#xff0c;可通过外部知识库减少幻觉。指出虽然大模型为何…