学习笔记:压位高精

news/2025/10/3 18:22:27/文章来源:https://www.cnblogs.com/cqbzlym/p/19124841

考虑 10-base 高精度,单次运算复杂度为 \(O(\log_{10}V)\)。使用 10-base 的主要原因是 std::to_string 很方便、输出也很简单。

但效率太低。实际上,一般打高精度都是 1e4-base,或更激进地,1e9-base。

注意高精乘低精是 \(O(len)\) 而非 \(O(len^2)\)

需要考虑输出。由于用的是 10-power 作为 base,所以只需要把每四位直接输出即可。注意除首位外需要补前导 0 直到四位。

struct BI {std::vector<int> s;BI() {}BI(int x) {for (; x; s.push_back(x % 10000), x /= 10000);return;}BI& operator= (int q) {return *this = (BI)q;}bool operator> (const BI &q) {if (s.size() != q.s.size())return s.size() > q.s.size();for (int i = (int)s.size() - 1; ~i; --i)if (s[i] != q.s[i])return s[i] > q.s[i];return 0;}BI operator* (int q) const {int lx = s.size();std::vector<long long> res(lx + 3);for (int i = 0; i < lx; ++i)res[i] = (long long)s[i] * q;BI p;for (int j = 0; j < lx + 2; ++j)res[j + 1] += res[j] / 10000, res[j] %= 10000;int len = lx + 2;for (; ~len && !res[len]; --len);for (int j = 0; j <= len; ++j)p.s.push_back(res[j]);return p;}void out(void) {for (int i = (int)s.size() - 1; ~i; --i) {auto p = std::to_string(s[i]);if (i != (int)s.size() - 1)for (; (int)p.size() < 4; p = "0" + p);std::cout << p;}std::cout << '\n';return;}
};

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

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

相关文章

响应式网站有什么弊端微信公众号做推送的网站

本文详解WPF的Button控件。 目录 前言 定义 属性 事件 应用实例 1、普通应用

吉司机 + 历史和练习

并非所有历史和都是吉司机A - Just Another Game of Stones https://www.luogu.com.cn/problem/P9631发现如果选定了这一步取的位置 \(i\),那么要拿的石子是定值 \(a_i-a_i\oplus s\),当 \(a_i\le a_i\oplus s\) 时不…

探索3D空间的视觉基础模型系列 - 指南

探索3D空间的视觉基础模型系列 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

近期杂题,怎么重名了

突围E - Colinear https://atcoder.jp/contests/abc422/tasks/abc422_e 看到题目会有一个乱搞的想法:随机取一对点,那么是有 \(\dfrac 14\) 的概率都在直线上的。带进去暴力 check 一下,多来几次正确率就比较高。 什…

可以做配音兼职的网站微信网站怎么做的好名字

目录 HarmonyOS设备开发学习路径一、开发项目与工具介绍1.1、设备开发环境准备1.2、设备开发流程1.3、Huawei DevEco Device Tool 二、OpenHarmony介绍OpenHarmony目录结构详细介绍applications目录详解base目录详解foundation目录详解 OpenHarmony接口分层介绍CMSIS 和 POSIX …

vp 记录 edu 181

tzl 太强了!真挚的膜拜lhy 太强了!真挚的膜拜E. Sets of Complementary Sums https://codeforces.com/contest/2125/problem/E 分拆数、其实是个不牛的东西,但是写假了 😅 令集合元素升序排列为 \(b_{1\sim n}\)。…

状压 DP

没补完(1/3),动作还是太慢了A - 只不过是长的领带 2 / Just Long Neckties 2 https://www.luogu.com.cn/problem/P11665 需要观察到,任意时刻 \(B\) 中不存在重复元素。把 \(B\) 压出来,令 \(f_{i,S}\) 表示选了 …

近期杂题

这段时间比赛的一些题 和 nKessi、duanyu 讲的题目。太偏计数、数学的基本上没办法做了。A. 出关 http://222.180.160.110:61235/contest/6462/problem/1给定 \(s\),对于一个空串,任意利用下列三种操作,使其变为 \(…

学习笔记:分拆数与 Ferrers 图

需要知道概念和求法,有一定的用处分拆数与互异分拆数 要求:给定一个正整数 \(n\),要求将其划分为 \(m\) 个可重 / 不可重的正整数,问本质不同的方案数。(显然 \(m\) 与 \(\sqrt n\) 同阶。) 不妨令划分结果单调不…

DDP 与全局平衡二叉树

其实动态 DP 不是动态树 DP 的同义词动态 DP 对于转移只依赖前几项的 DP,可以放进矩阵。 默认转移范围是 \([1,n]\);如果我们需要改变求解范围,发现如果能获取转移矩阵的乘积就很快了。考虑存下来。 如果需要单点修…

所有北京网站建设公司六安网红小杨哥

目录 引言1. 构造函数1.1概念1.2 特性 2. 析构函数2.1 概念2.2 特性 3. 拷贝构造函数3.1 概念3.2特征 4. 赋值运算符重载4.1 运算符重载4.2 赋值运算符重载4.3 前置和后置重载 5.日期类的实现6.const成员7.取地址及const取地址操作符重载 引言 当一个类既没有成员变量又没有成…

旅游网站怎样做网络宣传网络文化经营许可证查询

Random类&#xff1a;用来生成随机数 Random rnew Random(); int numr.nextInt();//所有int范围&#xff0c;有正负两种 int num1r.nextInt();//[0,3)左闭右开

并查集 D. Shark [Codeforces Round 484(Div. 2)]

一道还行的并查集,刚开始写的以为是带权并查集,写着写着发现其实不用太麻烦 题目大意是:需要找到一个值 k,使得数组中所有小于 k 的数字构成的连通块满足以下条件: 所有连通块的大小相同 连通块的数量尽可能多 在…

实用指南:Spark核心技术解析:从RDD到Dataset的演进与实践

实用指南:Spark核心技术解析:从RDD到Dataset的演进与实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…

随笔0

设计网页时,如果遇到float 一定要注意下面的元素要 clear,不然会有bug

电子商务网站建设考试题网站后台怎么进入wordpress

官网提供相关API GDI 基本图形功能_drawing 高级二维和矢量图形功能_drawing2D GDI 图像处理功能_Imaging GDI 排版功能_text Windows 窗体应用程序提供打印功能_Printing 像素 构成图像的最小单位就是像素&#xff1b;屏幕上显示不管是位图或者矢量图&#xff0c;当描述…

加密算法基本原理、特点及采用场景

加密算法基本原理、特点及采用场景pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

Hackersdaddy ROUGE CTF 2025 完整解题记录

本文详细记录了在Hackersdaddy CTF 2025中解决全部13个挑战的完整过程,涵盖Web安全、OSINT、API利用、JWT伪造、GraphQL注入、SSTI、IDOR、LFR和SSRF等多种技术,展示了真实世界安全漏洞的挖掘与利用方法。Hackersdad…

学习comfyui

学习comfyuivae模块: vae 解码模块: 把latent -->image 输出可以连接为保存或者预览.VAE 节点配置与使用 模型来源 默认加载:通过 Load Checkpoint 节点加载大模型时,自动绑定其内置的 VAE。 独立加载:使用 VAE …

完整教程:uniapp 日历组件 uni-datetime-picker

完整教程:uniapp 日历组件 uni-datetime-pickerpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …