ACM程序设计竞赛常用代码

"ACM 程序设计竞赛常用代码" 本资源是一个 ACM 程序设计竞赛的常用代码集,涵盖了数学问题、字符串处理、计算几何、数论、图论、排序/查找、数据结构等多个领域。下面是对每个领域的知识点的详细解释: 数学问题 * 精度计算——大数阶乘:使用数组存储大数的每一位,然后使用循环计算大数的阶乘结果。 * 精度计算——乘法(大数乘小数):使用字符串表示大数,然后使用循环计算大数乘小数的结果。 * 精度计算——乘法(大数乘大数):使用二维数组存储大数的每一位,然后使用循环计算大数乘大数的结果。 * 精度计算——加法、减法:使用数组存储大数的每一位,然后使用循环计算大数的加法和减法结果。 * 任意进制转换:使用数组存储大数的每一位,然后使用循环计算大数的任意进制转换结果。 * 最大公约数、最小公倍数:使用欧几里德算法计算最大公约数和最小公倍数。 * 组合序列:使用递推公式计算组合序列。 * 快速傅立叶变换(FFT):使用快速傅立叶变换算法计算傅立叶变换的结果。 * Ronberg 算法计算积分:使用 Ronberg 算法计算积分的结果。 * 行列式计算:使用行列式的定义计算行列式的结果。 * 求排列组合数:使用递推公式计算排列组合数。 字符串处理 * 字符串替换:使用字符串的 replace 函数实现字符串的替换。 * 字符串查找:使用字符串的 find 函数实现字符串的查找。 * 字符串截取:使用字符串的 substr 函数实现字符串的截取。 计算几何 * 叉乘法求任意多边形面积:使用叉乘法计算任意多边形的面积。 * 求三角形面积:使用海伦公式计算三角形的面积。 * 两矢量间角度:使用 dot product 计算两矢量间的角度。 * 两点距离(2D、3D):使用欧几里德距离公式计算两点之间的距离。 * 射向法判断点是否在多边形内部:使用射向法判断点是否在多边形内部。 * 判断点是否在线段上:使用点在线段上的判定公式判断点是否在线段上。 * 判断两线段是否相交:使用线段相交的判定公式判断两线段是否相交。 * 判断线段与直线是否相交:使用线段与直线相交的判定公式判断线段与直线是否相交。 * 点到线段最短距离:使用点到线段最短距离公式计算点到线段的最短距离。 * 求两直线的交点:使用两直线的交点公式计算两直线的交点。 * 判断一个封闭图形是凹集还是凸集:使用图形的凹凸判定公式判断一个封闭图形是凹集还是凸集。 * Graham 扫描法寻找凸包:使用 Graham 扫描法寻找凸包的结果。 数论 * x 的二进制长度:使用 bit manipulation 计算 x 的二进制长度。 * 返回 x 的二进制表示中从低到高的第 i 位:使用 bit manipulation 返回 x 的二进制表示中从低到高的第 i 位。 * 模取幂运算:使用模取幂运算公式计算模取幂运算的结果。 * 求解模线性方程:使用模线性方程的解公式计算模线性方程的解。 * 求解模线性方程组(中国余数定理):使用中国余数定理计算模线性方程组的解。 * 筛法素数产生器:使用筛法产生素数。 * 判断一个数是否素数:使用素数判定公式判断一个数是否素数。 图论 * Prim 算法求最小生成树:使用 Prim 算法计算最小生成树的结果。 * Dijkstra 算法求单源最短路径:使用 Dijkstra 算法计算单源最短路径的结果。 * Bellman-ford 算法求单源最短路径:使用 Bellman-ford 算法计算单源最短路径的结果。 * Floyd 算法求每对节点间最短路径:使用 Floyd 算法计算每对节点间最短路径的结果。 排序/查找 * 快速排序:使用快速排序算法计算排序的结果。 * 希尔排序:使用希尔排序算法计算排序的结果。 * 选择法排序:使用选择法排序算法计算排序的结果。 * 二分查找:使用二分查找算法计算查找的结果。 数据结构 * 顺序队列:使用数组实现顺序队列的数据结构。 * 顺序栈:使用数组实现顺序栈的数据结构。 * 链表:使用链表实现链表的数据结构。 * 链栈:使用链表实现链栈的数据结构。 * 二叉树:使用二叉树实现二叉树的数据结构。




















剩余52页未读,继续阅读

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- 攻城狮7号2012-12-10涉及的范围还可以

- 粉丝: 1
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- jpegio-0.2.8.tar.gz
- 基于C#开发的图形界面,与多个激光测距传感器进行RS485通信,读取距离值,然后计算均值和方差+源码(毕业设计&课程设计&项目开发)
- 纸板缺陷数据信息-数据集
- 使用块的网络(VGG)pytorch版
- android stress-ng
- java面向对象 - 类与对象.zip
- 基于javaScript+mqtt实现的农田灌溉系统(微信小程序)+源码(毕业设计&课程设计&项目开发)
- Pac-Man(吃豆人) 游戏
- 计算机二级C 语言学习 + 语法与算法应用 + 习题训练与思路指导 + 应对考试面试
- GPU并行计算与CUDA编程教程.zip
- 软考高级信息系统项目管理师考试指南:核心知识体系、备考策略与高频考点分析
- 支博贤激光原理实验.docx
- Wireshark协议分析从入门到精通.zip
- 代码合集(4).zip
- 反编译工具,可以看C#代码
- 谷歌浏览器,安卓离线版APK


