新闻详情

新闻详情

首页 / 资讯中心 / 详情

洛谷蒟蒻OIer中秋团圆赛I题[渐进]题解

发布时间:2026/9/27 11:38:20来源:尧图网络
洛谷蒟蒻OIer中秋团圆赛I题[渐进]题解
连分数渐近分数的实现与大数处理 问题描述在计算连分数的渐近分数时递推公式如下pkak⋅pk−1pk−2,qkak⋅qk−1qk−2p_k a_k \cdot p_{k-1} p_{k-2}, \quad q_k a_k \cdot q_{k-1} q_{k-2}pk​ak​⋅pk−1​pk−2​,qk​ak​⋅qk−1​qk−2​初始条件为$ p_{-1} 1, p_0 a_0 $- $ q_{-1} 0, q_0 1 $当 $ n \leq 100 $ 时分子和分母的值可能达到 $ 10^{500} $远远超出long long的范围因此必须使用大数运算。 大数设计为了处理非常大的整数我们采用以下策略压 9 位将数字按每 9 位一组存储基为 $ 10^9 $。vectorint存储低位在前便于操作。支持两种基本运算大数 × 小整数利用long long处理进位时间复杂度 $ O(L) $。大数 大数逐位相加并处理进位时间复杂度 $ O(L) $。⚙️ 算法复杂度- 总位数为 $ O(n) $。每次递推为 $ O(L) $总复杂度为 $ O(n^2) $。- 对于 $ n100 $完全可以在合理时间内完成。—### 示例代码C-#includecstdio-#includevector-usingnamespacestd;-constintA[]{3,7,15,1,292,1,1,1,2,1,3,1,14,2,1,1,2,2,2,2,1,84,6,1,1,1,5,1,82,1,159,1,2,1,3,1,1,1,2,1,1,1,1,2,1,1,1,3,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};-structB{-vectorintd;-B(intx0){-while(x){-d.push_back(x%1000000000);-x/1000000000;-}-if(d.empty())d.push_back(0);-}-Boperator*(intx)const{-B r;-r.d.clear();-longlongc0;-for(inti0;i(int)d.size()||c;i){-if(i(int)d.size())c(longlong)d[i]*x;-r.d.push_back(c%1000000000);-c/1000000000;-}-returnr;-}-Boperator(constBo)const{-B r;-r.d.clear();-intc0;-intnmax(d.size(),o.d.size());-for(inti0;in||c;i){-intsc;-if(i(int)d.size())sd[i];-if(i(int)o.d.size())so.d[i];-r.d.push_back(s%1000000000);-cs/1000000000;-}-returnr;-}-voidprint(){-printf(%d,d.back());-for(inti(int)d.size()-2;i0;i--){-printf(%09d,d[i]);-}-}-};-intmain(){-intn;-scanf(%d,n);-Bp0(A[0]),p1(1),q0(1),q1(0);-for(intk1;kn;k){-B tpp0*A[k]p1;-B tqq0*A[k]q1;-p1p0;-p0tp;-q1q0;-q0tq;-}-p0.print();-putchar(/);-q0.print();-puts();-}-
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

OpenClaw 2026 部署与配置指南:TaoToken 统一 Key 接入 settings.json 骨架 2026/9/27 12:24:43

OpenClaw 2026 部署与配置指南:TaoToken 统一 Key 接入 settings.json 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Sphinx Web Support 自定义搜索适配器(Search Adapter)开发完全指南 2026/9/27 12:24:37

Sphinx Web Support 自定义搜索适配器(Search Adapter)开发完全指南

文档开发工具 【免费下载链接】sphinx The Sphinx documentation generator 项目地址: https://gitcode.com/gh_mirrors/sp/sphinx 点击查看 免费下载 导读 本指南基于 Sphinx 文档仓库中的 searchadapters.rst,系统讲解 Sphinx Web Support 体系中搜索…

阅读更多 →
Simon 与 Speck 轻量级分组密码实战解析:NSA 算法原理与 SECCON 2017 暴力破解(ctf-wiki) 2026/9/27 12:24:37

Simon 与 Speck 轻量级分组密码实战解析:NSA 算法原理与 SECCON 2017 暴力破解(ctf-wiki)

文档网络安全教程 【免费下载链接】ctf-wiki Come and join us, we need you! 项目地址: https://gitcode.com/gh_mirrors/ct/ctf-wiki 点击查看 免费下载 Simon 与 Speck 是由 NSA 于 2013 年公布的姊妹轻量级分组密码,前者面向硬件实现优化&#xff0…

阅读更多 →
搞定备案从零搭建可以做go分析的网站实战 2026/9/27 12:24:36

搞定备案从零搭建可以做go分析的网站实战

搞定备案从零搭建可以做go分析的网站实战 备案流程一头雾水?别慌。很多做技术站的朋友,卡在工信部ICP备案系统这一步,对着那些条款发呆,感觉像天书。其实, 从零搭建…

阅读更多 →
手机直接运行 Codex/OpenCode/Claude Code:TaoToken 统一 Key 配置与实时管理 AI Coding 实战 2026/9/27 12:24:30

手机直接运行 Codex/OpenCode/Claude Code:TaoToken 统一 Key 配置与实时管理 AI Coding 实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Codex 零基础教程核心总结:TaoToken 统一 Key 接入 CLI 配置实战 2026/9/27 12:24:30

Codex 零基础教程核心总结:TaoToken 统一 Key 接入 CLI 配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉