高精度
S atur
要变成萤火虫~
展开
-
HDU 6206 Apple (计算几何_三点求圆 & 高精度浮点数 & Java大数_BigDecimal)
传送门题意:确定第四个点是否在前三个点形成的圆以外,若是输出"Accepted",否则输出"Rejected"。思路:这里应用其他大佬的证明过程(截图偏于保存,细则可移步查看)。有了圆心 (,),再带入任意一点便能求得半径值了。但是由于这个题的精度爆double,于是采取Java的大数BigDecimal来求解,这里先展示C++的代码思路结构。C++代码实现:#include<bits/stdc++.h>#define endl '\n'#def原创 2021-04-20 20:49:47 · 203 阅读 · 0 评论 -
G. 机器人 (排序&__int128) (2021牛客寒假算法基础集训营6)
传送门注意:题目描述的将机器人排序,指机器人之间交换,自身的a、b值依然不变。另外,题目中x=ai*x+bi,x在不断更新,最后得到一个答案x。思路: 显然我们要将机器人按一定方式进行排序,以得到最大的答案。嵌套公式可以得到公式,化简贪心一下就好。另外需要注意会爆long long,所以需要用__int128。代码实现:#include<bits/stdc++.h>//#define endl '\n'#define null NULL#define.原创 2021-03-06 15:37:24 · 263 阅读 · 0 评论 -
J. Easy Integration (逆元 & 分部积分) 2020牛客暑期多校训练营(第一场)
传送门思路:题意就是给你n,让求出下下列式子的结果:很明显这就是数学方面的问题啦,这么菜的我在数学方面就更菜,反正最后看题解博客得知结果就是 (n)! / (2n+1)!。代码实现:#include<bits/stdc++.h>//#define endl '\n'#define null NULL#define ll long long#define int long long#define pii pair<int, int>#define low原创 2020-09-05 16:58:44 · 135 阅读 · 0 评论 -
I. The Crime-solvingPlan of Groundhog (思维 / 高精度乘法) 2020牛客暑期多校训练营(第九场)
传送门思路:题意: 给出n个数,将其拼接成两个没有前导零的正整数,使得他们的乘积最小。官方题解:我想的思路个题解一样,但是我在补题的时候出现了一个小问题(代码中已注释),导致我一直改其他地方一直wa,呜呜呜~代码实现:#include<bits/stdc++.h>//#define endl '\n'#define null NULL#define ll long long#define int long long#define pii pair<int,原创 2020-08-09 23:11:16 · 138 阅读 · 0 评论 -
洛谷:P1255 数楼梯 (高精度加法 & 斐波那契数列)
传送门思路:这种题以前也做过,只不过没有套高精度的计算。对于第n阶台阶,能从第n-1和第n-2台阶垮过了,所以到达第n阶台阶的方法数就有n-1与n-2方法数之和。(其实就是斐波那契数列啦)。注意下数据范围,的用高精度加法来写。代码实现:#include<bits/stdc++.h>#define endl '\n'#define null NULL#define ll long long#define int long long#define pii pair<原创 2020-08-09 00:51:45 · 679 阅读 · 0 评论 -
A. Groundhog and 2-Power Representation (递归 & 高精度) 2020牛客暑期多校训练营(第九场)
传送门思路:题意:将所给字符计算成十进制数。常规的 递归处理 + 高精度 即可。嗐,我太太太菜了,又是躺舒服的一天,模拟模拟不得行,递归也不行,只有赛后看看哥大佬的代码学习。代码实现:#include<bits/stdc++.h>#define endl '\n'#define null NULL#define ll long long#define int long long#define pii pair<int, int>#define lowb原创 2020-08-08 22:51:16 · 177 阅读 · 0 评论 -
组合数Ⅳ
题目要链接题意:输入a,b,求C[a][b]的值。注意结果可能很大,需要使用高精度计算。输入格式共一行,包含两个整数a和b。输出格式共一行,输出C[a][b]的值。数据范围1≤b≤a≤5000输入样例:5 3输出样例:10思路:分解质因数:C[a][b] = p1^m1 * p2^m2 * … * pk^mk;其中p1 ~ pk都是1 ~ a中的素数;m1~mk是其中对...原创 2020-02-16 19:54:22 · 206 阅读 · 0 评论 -
高精度:大数相除
题目链接:https://www.acwing.com/problem/content/796/数据范围1≤A的长度≤100000,1≤B≤10000输入样例:72输出样例:31思路:其实都一样的,利用我们的人工模拟除法思维,虽然做除法时从高位开始存会比较方便,但为了模板和加减发一样更便于记忆,任然可以从低位开始存,只不过结果稍微处理一下就好。(我也不想说什么了,明明我的代码没...原创 2020-01-15 22:27:41 · 230 阅读 · 0 评论 -
高精度:大数相乘
题目链接:https://www.acwing.com/problem/content/795/数据范围1≤A的长度≤100000,1≤B≤10000输入样例:23输出样例:6思路:其实大数的加减乘除都是一个道理啦。代码实现:#include<bits/stdc++.h>using namespace std;#define rep(i,a,n) for(in...原创 2020-01-15 21:08:09 · 156 阅读 · 0 评论 -
高精度:大数相减
题目链接:https://www.acwing.com/problem/content/794/数据范围1≤整数长度≤1e5输入样例:3211输出样例:21思路:和大整数加法的处理差不多,只不过还得考虑答案的正负号还有借位问题,当然也还有前导零的处理,所以感觉会比大整数加法繁琐一点,但是根本思想还是一致的。代码实现:#include<bits/stdc++.h>u...原创 2020-01-14 22:09:07 · 180 阅读 · 0 评论 -
高精度:大数相加
题目链接:https://www.acwing.com/problem/content/793/数据范围1≤整数长度≤100000输入样例:1223输出样例:35**思路:**大整数加法其实就是一个手动模拟加法的过程,需要用数组存取数据,一位一位的相加进位。代码实现:#include<bits/stdc++.h>using namespace std;typed...原创 2020-01-14 19:32:23 · 293 阅读 · 0 评论 -
栈 / 卡特兰数:火车进出栈问题
题目链接:https://www.acwing.com/problem/content/132/题意:一列火车n节车厢,依次编号为1,2,3,…,n。每节车厢有两种运动方式,进栈与出栈,问n节车厢出栈的可能排列方式有多少种。数据范围1≤n≤60000输入样例:3输出样例:5思路:进出栈问题–>序列问题–>路径问题。这显然是上一道火车进栈的升级版,数据太大不能再进行递...原创 2020-02-02 16:35:11 · 750 阅读 · 1 评论