题目传送门:https://www.luogu.org/problemnew/show/P2005

高精除低精:https://www.cnblogs.com/AKMer/p/9724556.html

高精度除法板子。和高精除低精不同的是,除数不能直接去和当前位相除,而是能减一次算一次……

时间复杂度:\(O(len)\)

空间复杂度:\(O(len)\)

代码如下:

#include <cstdio>
#include <cstring>
using namespace std; const int maxn=25005; char s[maxn]; struct Bignum {
int num[maxn]; void make() {
num[0]=strlen(s+1);
for(int i=1;i<=num[0];i++)
num[i]=s[num[0]-i+1]-'0';
} void print() {
for(int i=num[0];i;i--)
printf("%d",num[i]);
} bool operator>=(const Bignum &a)const {
if(num[0]!=a.num[0])return num[0]>a.num[0];
for(int i=num[0];i;i--)
if(num[i]!=a.num[i])return num[i]>a.num[i];
return 1;
}//比较 Bignum operator-(const Bignum &a)const {
Bignum c;memcpy(c.num,num,sizeof(c.num));
for(int i=1;i<=c.num[0];i++) {
if(c.num[i]<a.num[i])c.num[i+1]--,c.num[i]+=10;
c.num[i]-=a.num[i];
}
while(!c.num[c.num[0]]&&c.num[0]>1)c.num[0]--;
return c;
}//高精度减法
}a,b,c; void cpy(Bignum &a,int id,Bignum fake) {
for(int i=1;i<=fake.num[0];i++)
a.num[id+i-1]=fake.num[i];
a.num[0]=fake.num[0]+id-1;
}//把fake丢到a里,并且以id位开始,1到id-1都是0 Bignum operator/(Bignum a,Bignum b) {
Bignum c;memset(c.num,0,sizeof(c.num));
c.num[0]=a.num[0]-b.num[0]+1;
for(int i=c.num[0];i;i--) {
Bignum tmp;memset(tmp.num,0,sizeof(tmp.num));
cpy(tmp,i,b);while(a>=tmp)c.num[i]++,a=a-tmp;//能减就减
}while(c.num[0]>1&&!c.num[c.num[0]])c.num[0]--;
return c;
} int main() {
scanf("%s",s+1);a.make();
scanf("%s",s+1);b.make();
c=a/b;c.print();
return 0;
}

洛谷【P2005】A/B Problem II的更多相关文章

  1. 洛谷 P2005 A/B Problem II

    P2005 A/B Problem II 题目背景 为了让大家紧张的心情放松一下,这一题题是一道非常简单的题目. 题目描述 给出正整数N和M,请你计算N div M(N/M的下取整). 输入输出格式 ...

  2. 洛谷1001 A+B Problem

    洛谷1001 A+B Problem 本题地址:http://www.luogu.org/problem/show?pid=1001 题目描述 输入两个整数a,b,输出它们的和(|a|,|b|< ...

  3. 洛谷1303 A*B Problem 解题报告

    洛谷1303 A*B Problem 本题地址:http://www.luogu.org/problem/show?pid=1303 题目描述 求两数的积. 输入输出格式 输入格式: 两个数 输出格式 ...

  4. 洛谷1601 A+B Problem(高精) 解题报告

    洛谷1601 A+B Problem(高精) 本题地址:http://www.luogu.org/problem/show?pid=1601 题目背景 无 题目描述 高精度加法,x相当于a+b pro ...

  5. 洛谷P1865 A % B Problem

    1.洛谷P1865 A % B Problem 题目背景 题目名称是吸引你点进来的 实际上该题还是很水的 题目描述 区间质数个数 输入输出格式 输入格式: 一行两个整数 询问次数n,范围m 接下来n行 ...

  6. 洛谷 P2616 [USACO10JAN]购买饲料II Buying Feed, II

    洛谷 P2616 [USACO10JAN]购买饲料II Buying Feed, II https://www.luogu.org/problemnew/show/P2616 题目描述 Farmer ...

  7. 洛谷 P1182 数列分段 Section II

    洛谷 P1182 数列分段 Section II 洛谷传送门 题目描述 对于给定的一个长度为N的正整数数列A-iA−i,现要将其分成M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. ...

  8. 洛谷P3412 仓鼠找$Sugar\ II$题解(期望+统计论?)

    洛谷P3412 仓鼠找\(Sugar\ II\)题解(期望+统计论?) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327573 原题链接:洛谷P3412 ...

  9. 洛谷P1288 取数游戏II(博弈)

    洛谷P1288 取数游戏II 先手必胜的条件需要满足如下中至少 \(1\) 条: 从初始位置向左走到第一个 \(0\) 的位置,经过边的数目为偶数(包含 \(0\) 这条边). 从初始位置向右走到第一 ...

  10. 洛谷P1919 A*B problem 快速傅里叶变换模板 [FFT]

    题目传送门 A*B problem 题目描述 给出两个n位10进制整数x和y,你需要计算x*y. 输入输出格式 输入格式: 第一行一个正整数n. 第二行描述一个位数为n的正整数x. 第三行描述一个位数 ...

随机推荐

  1. Image Recognition

    https://www.tensorflow.org/tutorials/image_recognition

  2. [BJWC2012]冻结

    [BJWC2012]冻结 luogu BZOJ 分层图最短路,层与层之间连半边权边 #include<bits/stdc++.h> using namespace std; const i ...

  3. Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)

    原帖地址:http://blog.csdn.net/nsrainbow/article/details/36629339 我们这个教程是在 centos  上安装cdh的教程,并且使用的是yum方式. ...

  4. 期刊搜索问题——SCI、EI、IEEE和中文期刊

    1.SCI.EI收录是什么意思? SCI和EI都是收录,并不是实体的期刊出版社,相当于具有高品质期刊出版社的合体(或统充),隔一段时间(几年或者几个月)SCI会进行评估,哪些出版社不具有被SCI收录的 ...

  5. 【leetcode刷题笔记】Merge k Sorted Lists

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 题 ...

  6. echarts相关设置

    1.显示隐藏工具栏 注释toolbox即可 /*    toolbox: {         show : true,         feature : {             dataView ...

  7. Linux查看硬盘使用情况

    df df - report file system disk space usage df是查看文件系统磁盘使用情况的命令.如: # df -h Filesystem Size Used Avail ...

  8. mini2440移植uboot 2014.04(三)

    我修改的代码已经上传到github上,地址:https://github.com/qiaoyuguo/u-boot-2014.04-mini2440.git 参考文档: s3c2440手册(下载地址) ...

  9. Android系统Recovery工作原理之使用update.zip升级过程分析(三)【转】

    本文转载自:http://blog.csdn.net/mu0206mu/article/details/7464699 以下的篇幅开始分析我们在上两个篇幅中生成的update.zip包在具体更新中所经 ...

  10. docker网络模型

    docker run -it --rm --net none --name test centos:newer /bin/bash --net none的作用是创建一个封闭的容器,容器只有lo接口,只 ...