模板:高精

想必大家一定都深受高精所害
python党:啥叫高精?
这里送上一种高精板子 写法
转载自巨神wyx的博客

#include <bits/stdc++.h>
using namespace std;const int maxn = 1000;struct bign {int d[maxn], len;void clean() {while (len > 1 && !d[len - 1]) len--;}bign() {memset(d, 0, sizeof(d));len = 1;}bign(int num) { *this = num; }bign(char* num) { *this = num; }bign operator=(const char* num) {memset(d, 0, sizeof(d));len = strlen(num);for (int i = 0; i < len; i++) d[i] = num[len - 1 - i] - '0';clean();return *this;}bign operator=(int num) {char s[20];sprintf(s, "%d", num);*this = s;return *this;}bign operator+(const bign& b) {bign c = *this;int i;for (i = 0; i < b.len; i++) {c.d[i] += b.d[i];if (c.d[i] > 9)c.d[i] %= 10, c.d[i + 1]++;}while (c.d[i] > 9) c.d[i++] %= 10, c.d[i]++;c.len = max(len, b.len);if (c.d[i] && c.len <= i)c.len = i + 1;return c;}bign operator-(const bign& b) {bign c = *this;int i;for (i = 0; i < b.len; i++) {c.d[i] -= b.d[i];if (c.d[i] < 0)c.d[i] += 10, c.d[i + 1]--;}while (c.d[i] < 0) c.d[i++] += 10, c.d[i]--;c.clean();return c;}bign operator*(const bign& b) const {int i, j;bign c;c.len = len + b.len;for (j = 0; j < b.len; j++)for (i = 0; i < len; i++) c.d[i + j] += d[i] * b.d[j];for (i = 0; i < c.len - 1; i++) c.d[i + 1] += c.d[i] / 10, c.d[i] %= 10;c.clean();return c;}bign operator/(const bign& b) {int i, j;bign c = *this, a = 0;for (i = len - 1; i >= 0; i--) {a = a * 10 + d[i];for (j = 0; j < 10; j++)if (a < b * (j + 1))break;c.d[i] = j;a = a - b * j;}c.clean();return c;}bign operator%(const bign& b) {int i, j;bign a = 0;for (i = len - 1; i >= 0; i--) {a = a * 10 + d[i];for (j = 0; j < 10; j++)if (a < b * (j + 1))break;a = a - b * j;}return a;}bign operator+=(const bign& b) {*this = *this + b;return *this;}bool operator<(const bign& b) const {if (len != b.len)return len < b.len;for (int i = len - 1; i >= 0; i--)if (d[i] != b.d[i])return d[i] < b.d[i];return false;}bool operator>(const bign& b) const { return b < *this; }bool operator<=(const bign& b) const { return !(b < *this); }bool operator>=(const bign& b) const { return !(*this < b); }bool operator!=(const bign& b) const { return b < *this || *this < b; }bool operator==(const bign& b) const { return !(b < *this) && !(b > *this); }string str() const {char s[maxn] = {};for (int i = 0; i < len; i++) s[len - 1 - i] = d[i] + '0';return s;}
};istream& operator>>(istream& in, bign& x) {string s;in >> s;x = s.c_str();return in;
}ostream& operator<<(ostream& out, const bign& x) {out << x.str();return out;
}
int main() {//下面爱咋写咋写了bign a, b;cin >> a >> b;if (a >= b) {cout << a;return 0;}cout << b % a;return 0;
}

thanks for reading!

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

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

相关文章

牛客题霸 [最长公共子序列] C++题解/答案

牛客题霸 [最长公共子序列] C题解/答案 题目描述 给定两个字符串str1和str2&#xff0c;输出连个字符串的最长公共子序列。如过最长公共子序列为空&#xff0c;则输出-1。 题解&#xff1a; dp经典问题 代码&#xff1a; class Solution { public:/*** longest common su…

2021牛客暑期多校训练营4 G-Product(组合意义+容斥原理)

G-Product Spy_Savior题解 Ultraman-Ace题解 组合意义容斥原理 转化后题目关键要求有DnkDnkDnk个小球放在nnn个盒子中&#xff0c;每个盒子至少有k个小球的方案数。 题目的等价式子为 ∑∑i1naiDnk[ai≥k]D!∏i1nai!\sum_{\sum_{i1}^na_iDnk[a_i\ge k]}\frac{D!}{\prod_{i1}^…

P6122-[NEERC2016]Mole Tunnels【模拟费用流】

正题 题目链接:https://www.luogu.com.cn/problem/P6122 题目大意 给出nnn个点的一棵满二叉树&#xff0c;每个点有容量cic_ici​&#xff0c;mmm次从pip_ipi​处加一只仓鼠然后求每只仓鼠都到一个点的最短路径长度和。 1≤n≤1051\leq n\leq 10^51≤n≤105 解题思路 模拟费…

牛客题霸 [矩阵查找] C++题解/答案

牛客题霸 [矩阵查找] C题解/答案 题目描述 请写出一个高效的在m*n矩阵中判断目标值是否存在的算法&#xff0c;矩阵具有如下特征&#xff1a; 每一行的数字都从左到右排序 每一行的第一个数字都比上一行最后一个数字大 例如&#xff1a; 对于下面的矩阵&#xff1a; [ [1, 3,…

AtCoder Beginner Contest 211 E - Red Polyomino(暴力+状态记录)

E - Red Polyomino 暴力&#xff0c;对于状态的记录考虑下面用set<vector<string>> mp #include<bits/stdc.h> using namespace std; using lllong long; template <class Tint> T rd() {T res0;T fg1;char chgetchar();while(!isdigit(ch)) {if(ch-…

CF960G-Bandit Blues【第一类斯特林数,分治,NTT】

正题 题目链接:https://www.luogu.com.cn/problem/CF960G 题目大意 求有多少个长度为nnn的排列&#xff0c;使得有AAA个前缀最大值和BBB个后缀最大值。 0≤n,A,B≤1050\leq n,A,B\leq 10^50≤n,A,B≤105 解题思路 显然的是把最大的数两边然后左边的是前缀最大值&#xff0c;…

动态规划:openjudge 2.6-3532 最大上升子序列和 解题心得

传送门 题目描述 一个数的序列bi&#xff0c;当b1 < b2 < … < bS的时候&#xff0c;我们称这个序列是上升的。对于给定的一个序列(a1, a2, …,aN)&#xff0c;我们可以得到一些上升的子序列(ai1, ai2, …, aiK)&#xff0c;这里1 < i1 < i2 < … < iK…

边缘化搭建 DotNet Core 2.1 自动化发布和部署(下)

写在前面本篇文章是上一篇边缘化搭建 DotNet Core 2.1 自动化发布和部署(上)的后续操作&#xff0c;本文主要讲解如何开启Docker Remote API&#xff0c;开启Remote API后的权限安全问题。配置Jenkins构建项目&#xff0c;并在云服务器上构建成功。废话不多说&#xff0c;我们一…

牛客题霸 [二进制中1的个数] C++题解/答案

牛客题霸 [二进制中1的个数] C题解/答案 题目描述 输入一个整数&#xff0c;输出该数32位二进制表示中1的个数。其中负数用补码表示。 题解&#xff1a; 判断1的个数 x&(-x)2^k 有点类似于树状数组中lowbit的操作 代码&#xff1a; class Solution { public:int Num…

2021牛客暑期多校训练营5 G-Greater Integer, Better LCM(暴力+子集dp)

G-Greater Integer, Better LCM 看到校大佬的代码就瞬间会做了。 当时和队友想的是&#xff0c;首先转化题意即找两个数x≥a,y≥b[lcm(a,b)c]x\ge a,y\ge b[\text{lcm}(a,b)c]x≥a,y≥b[lcm(a,b)c]&#xff0c;首先不考虑x≥a,y≥bx\ge a,y\ge bx≥a,y≥b的限制&#xff0c;显…

P2179-[NOI2012]骑行川藏【导数,二分】

正题 题目链接:https://www.luogu.com.cn/problem/P2179 题目大意 给出EEE和nnn个si,ki,uis_i,k_i,u_isi​,ki​,ui​求一个序列viv_ivi​满足 ∑i1nkisi(vi−ui)2≤E\sum_{i1}^nk_is_i(v_i-u_i)^2\leq Ei1∑n​ki​si​(vi​−ui​)2≤E 的情况下最小化 ∑i1nsivi\sum_{i1}^…

不止代码:乘法游戏 题解(区间dp)

题目描述 乘法游戏是在一行牌上进行的。每一张牌包括了一个正整数。在每一个移动中&#xff0c;玩家拿出一张牌&#xff0c;得分是用它的数字乘以它左边和右边的数&#xff0c;所以不允许拿第1张和最后1张牌。最后一次移动后&#xff0c;这里只剩下两张牌。 你的目标是使得分的…

边缘化搭建DotNet Core 2.1 自动化构建和部署环境(上)

写在前面写这篇文章的缘由是由于笔者的对新兴技术方向有所追求&#xff0c;但个人资产有限&#xff0c;只能容许购买一台阿里云低配1核2G服务器。服务器上搭建了 Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署 环境后牺牲了大部分性能。造成了一…

牛客题霸 [丑数] C++题解/答案

牛客题霸 [丑数] C题解/答案 题目描述 把只包含质因子2、3和5的数称作丑数&#xff08;Ugly Number&#xff09;。例如6、8都是丑数&#xff0c;但14不是&#xff0c;因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 题解&#xff1a;…

codeforces1549 F1 - Gregor and the Odd Cows (Easy)(皮克公式)

皮克公式&#xff1a;求格点多边形面积 AB2I−1A\frac B 2I-1 A2B​I−1 其中 A&#xff1a;area 面积 B&#xff1a;boundary 边界上整点的个数 I&#xff1a;interior 多边形内部点的个数 对于两个整数点(x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2)(x1​,y1​),(x2​,y2​)来说&…

P3288-[SCOI2014]方伯伯运椰子【0/1分数规划,负环】

正题 题目链接:https://www.luogu.com.cn/problem/P3288 题目大意 给出nnn个点mmm条边的一张图&#xff0c;没条边iii流量为cic_ici​&#xff0c;费用是did_idi​&#xff0c;然后缩小一个流量费用是aia_iai​&#xff0c;增加一个流量费用是bib_ibi​。 要求改动图之后最大…

不止代码:ybtoj-消除木块(区间DP)

题目描述 n个木块排成一列&#xff0c;每个木块都有一个颜色。 每次&#xff0c;你都可以点击一个木块&#xff0c;这样被点击的木块以及和它相邻并且同色的木块就会消除。 如果一次性消除了k个木块&#xff0c;那么就会得到k*k分。 给定你一个游戏初始状态&#xff0c;请你…

.NET Core实战项目之CMS 第六章 入门篇-Vue的快速入门及其使用

写在前面上面文章我给大家介绍了Dapper这个ORM框架的简单使用&#xff0c;大伙会用了嘛&#xff01;本来今天这篇文章是要讲Vue的快速入门的&#xff0c;原因是想在后面的文章中使用Vue进行这个CMS系统的后台管理界面的实现。但是奈何Vue实现的SPA有一定的门槛&#xff0c;不太…

牛客练习赛10 F-序列查询(莫队+链表)

F-序列查询 v5zsq题解 假设数字xxx在区间[l,r]种出现y次&#xff0c;那么包含x的子区间个数为2r−l1−y⋅(2y−1)2^{r-l1-y}(2^y-1)2r−l1−y⋅(2y−1)&#xff0c;因此对询问贡献是x⋅2r−l1−y⋅(2y−1)x[2r−l1−2r−l1−y]x2^{r-l1-y}(2^y-1)x[2^{r-l1}-2^{r-l1-y}]x⋅2r…

牛客题霸 [有关阶乘的两个问题1] C++题解/答案

牛客题霸 [有关阶乘的两个问题1] C题解/答案 题目描述 给定一个非负整数N&#xff0c;返回N!结果的末尾为0的数量 题解&#xff1a; 这个题有技巧 102*5,也就是说有一对2和5就会贡献一个0&#xff0c;但是2的数量远远大于5&#xff0c;所以只用统计五即可 代码&#xff1a…