ACM竞赛预习函数大全

需积分: 0 23 下载量 83 浏览量 更新于2024-08-02 收藏 375KB DOC 举报
ACM预习和参赛预定函数 ACM预习和参赛预定函数是一组源代码,涵盖了ACM竞赛中常见的数学问题、字符串处理、计算几何、数论、图论、排序/查找和数据结构等领域的知识点。下面是对每个领域的详细解释: 一、数学问题 1. 精度计算——大数阶乘:实现了大数阶乘的计算,使用了数学库math.h,返回结果的位数。 2. 精度计算——乘法:实现了大数乘法的计算。 3. 精度计算——加法:实现了大数加法的计算。 4. 精度计算——减法:实现了大数减法的计算。 5. 階乘:实现了阶乘的计算。 6. 任意进制转换:实现了任意进制之间的转换。 7. 最大公约数、最小公倍数:实现了最大公约数和最小公倍数的计算。 8. 组合序列:实现了组合序列的计算。 二、字符串处理 1. 字符串替换:实现了字符串中的某个子串的替换。 2. 字符串查找:实现了字符串中的某个子串的查找。 3. 字符串截取:实现了字符串的截取操作。 三、计算几何 1. 叉乘法求任意多边形面积:实现了使用叉乘法计算任意多边形的面积。 2. 求三角形面积:实现了三角形面积的计算。 3. 两矢量间角度:实现了两矢量之间的角度计算。 4. 两点距离(2D、3D):实现了两点之间的距离计算。 5. 射向法判断点是否在多边形内部:实现了使用射向法判断点是否在多边形内部。 6. 判断点是否在线段上:实现了判断点是否在线段上的操作。 7. 判断两线段是否相交:实现了判断两线段是否相交的操作。 8. 判断线段与直线是否相交:实现了判断线段与直线是否相交的操作。 9. 点到线段最短距离:实现了点到线段的最短距离计算。 10. 求两直线的交点:实现了两直线的交点计算。 11. 判断一个封闭图形是凹集还是凸集:实现了判断一个封闭图形是否为凹集或凸集的操作。 12. Graham扫描法:实现了Graham扫描法的算法。 四、数论 1. x的二进制长度:实现了x的二进制长度计算。 2. 返回x的二进制表示中从低到高的第i位:实现了返回x的二进制表示中从低到高的第i位。 3. 模取幂运算:实现了模取幂运算的计算。 4. 求解模线性方程组:实现了模线性方程组的求解。 5. 筛法素数产生:实现了筛法素数的产生。 6. 判断一个数是否为素数:实现了判断一个数是否为素数的操作。 五、图论 1. Prim算法求最小生成树:实现了Prim算法求最小生成树。 2. Dijkstra算法:实现了Dijkstra算法求单源最短路径。 3. Bellman-ford算法:实现了Bellman-ford算法求单源最短路径。 4. Floyd算法:实现了Floyd算法求每对节点间最短路径。 六、排序/查找 1. 快速排序:实现了快速排序算法。 2. 希尔排序:实现了希尔排序算法。 3. 选择法排序:实现了选择法排序算法。 4. 二分查找:实现了二分查找算法。 七、数据结构 1. 顺序队列:实现了顺序队列的数据结构。 2. 顺序栈:实现了顺序栈的数据结构。 3. 链表:实现了链表的数据结构。 4. 链栈:实现了链栈的数据结构。 5. 二叉树:实现了二叉树的数据结构。