logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

高精度计算

在进行计算的过程中,会遇到几十位,甚至几百位的数字的计算问题,也有可能会遇到小数点后几十位的情况,而我们面对这样的情况下,intlongdouble等类型的取值范围不足的问题,高精度计算可以解决此类问题。高精度主要是用在C/C++,Python 是默认无限大的,所以不需要用高精度,JAVA是有库可以调用也是不需要用高精度。高精度计算本质上是用字符串模拟数字进行计算,再利用类似于数学里的竖式的形式,

#算法#c++
模运算(modulus operation)

两个大数a,b做乘法取模时,直接用(a * b) mod m = ((a mod m) * (b mod m)) mod m可能出错,因为a*b可能溢出,(a mod m) * (b mod m)也可能溢出。C++、C和java:5%3输出2,(-5)%(-3)输出-2,(-5)%3输出-2,5%(-3)输出2。Python:5%3输出2,(-5)%(-3)输出-2,(-5)%3输出1,5%(-3

#算法#c++#python
动态规划入门(DP)

动态规划(Dynamic Programming,DP)是算法竞赛的必考题型,内容多变。

#动态规划#算法#c++
有向无环图与拓扑排序

在一个DAG(有向无环图)中,我们将图中的顶点以线性方式进行排序,使得对于任何的顶点 u 到 v 的有向边 (u, v),都可以有 u 在 v 的前面。给定一个 DAG,如果从 u 到 v 有边,则认为 v 依赖于 u。如果 u 到 v 有路径(u 可达 v),则称 v 间接依赖于 u。拓扑排序的目标是将所有节点排序,使得排在前面的节点不能依赖于排在后面的节点。

#算法#c++#数据结构 +1
C++二分法

把区间[a,b]分成n等分,每个子区间长度为x,及算点xi=a+i*x(i=0,1,2,3...)的函数值f(xi),若函数值为0,则为一个实数根,若满足f(xi)*f(xi+1)

#算法#c++
到底了