【知识学习】我的OJ代码库和ACM模板,持续更新中

模板下载地址:

https://github.com/cls1277/OnlineJudge-Codes

https://gitee.com/cls1277/OnlineJudge-Codes(github上不去点击这里下载)

简单介绍一下这个库

在这里插入图片描述
如图所示,其中包含了各oj的题目AC代码

在这里插入图片描述
每个题目的编号都写得很清楚,可以方便大家直接点开学习代码

除此之外,还有几个特别的文件/文件夹

contests做过的一些比赛的题目,不太全,因为我打比赛(并完整补题)还是比较少的

debug一些没能AC的题目代码,还需要进一步调试

template这也是我要重点介绍的,是我的ACM模板库

在这里插入图片描述
除去文件名开头的cls三个字母,其他应该都可以猜得到是什么模板

这套模板是我以编写模板->改动模板AC模板题->放到模板库中的步骤完善的,几乎每道题都经过了测试(为什么说“几乎”呢?因为不确定是否有忘记的部分)

每个模板里采用大家最常用的函数命名方式来以函数的形式存放知识点,例如gcd,exgcd,CRT,fft,ntt等;与之相关的预处理过程会以_init结尾,例如fft_init,ntt_init

每个知识点开始之前会有注释介绍,所以看一眼注释可能会有助于你怎么使用这套模板

除此之外呢,如果你发现某些模板的码风突变,例如da,dc3,因为这是我找的别人测试过的模板,且我本人再使用了一遍之后上传的,所以码风会突变。关于这部分的代码,建议大家当黑盒使用。

如果你实在不明白某一模板如何使用,你可以通过我的提交记录,在除了template文件夹之外的其他oj文件夹中找到我的改动

例如我在FFT, NTT practice提交记录下,修改了luogu/luogu3803_ntt.cpp内的内容,所以你就可以看到我是如何使用FFT或NTT的代码通过的洛谷的P3803题的

在这里插入图片描述

如果您还有其他问题或者修改bug,欢迎联系我

本人能力有限,如果解决了您的问题,请不要吝啬您的star哟!谢谢

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1 图论 3 1.1 术语 3 1.2 独立集、覆盖集、支配集之间关系 3 1.3 DFS 4 1.3.1 割顶 6 1.3.2 桥 7 1.3.3 强连通分量 7 1.4 最小点基 7 1.5 拓扑排序 7 1.6 欧拉路 8 1.7 哈密顿路(正确?) 9 1.8 Bellman-ford 9 1.9 差分约束系统(用bellman-ford解) 10 1.10 dag最短路径 10 1.11 二分图匹配 11 1.11.1 匈牙利算法 11 1.11.2 KM算法 12 1.12 网络流 15 1.12.1 最大流 15 1.12.2 上下界的网络的最大流 17 1.12.3 上下界的网络的最小流 17 1.12.4 最小费用最大流 18 1.12.5 上下界的网络的最小费用最小流 21 2 数论 21 2.1 最大公约数gcd 21 2.2 最小公倍数lcm 22 2.3 快速幂取模B^LmodP(O(logb)) 22 2.4 Fermat小定理 22 2.5 Rabin-Miller伪素数测试 22 2.6 Pollard-rho 22 2.7 扩展欧几里德算法extended-gcd 24 2.8 欧拉定理 24 2.9 线性同余方程ax≡b(mod n) 24 2.10 国剩余定理 25 2.11 Discrete Logging(BL == N (mod P)) 26 2.12 N!最后一个不为0的数字 27 2.13 2^14以内的素数 27 3 数据结构 31 3.1 堆(最小堆) 31 3.1.1 删除最小值元素: 31 3.1.2 插入元素和向上调整: 32 3.1.3 堆的建立 32 3.2 并查集 32 3.3 树状数组 33 3.3.1 LOWBIT 33 3.3.2 修改a[p] 33 3.3.3 前缀和A[1]+…+A[p] 34 3.3.4 一个二维树状数组的程序 34 3.4 线段树 35 3.5 字符串 38 3.5.1 字符串哈希 38 3.5.2 KMP算法 40 4 计算几何 41 4.1 直线交点 41 4.2 判断线段相交 41 4.3 三点外接圆圆心 42 4.4 判断点在多边形内 43 4.5 两圆交面积 43 4.6 最小包围圆 44 4.7 经纬度坐标 46 4.8 凸包 46 5 Problem 48 5.1 RMQ-LCA 48 5.1.1 Range Minimum Query(RMQ) 49 5.1.2 Lowest Common Ancestor (LCA) 53 5.1.3 Reduction from LCA to RMQ 56 5.1.4 From RMQ to LCA 57 5.1.5 An algorithm for the restricted RMQ 60 5.1.6 An AC programme 61 5.2 最长公共子序列LCS 64 5.3 最长上升子序列/最长不下降子序列(LIS) 65 5.3.1 O(n^2) 65 5.3.2 O(nlogn) 66 5.4 Joseph问题 67 5.5 0/1背包问题 68 6 组合数学相关 69 6.1 The Number of the Same BST 69 6.2 排列生成 71 6.3 逆序 72 6.3.1 归并排序求逆序 72 7 数值分析 72 7.1 二分法 72 7.2 迭代法(x=f(x)) 73 7.3 牛顿迭代 74 7.4 数值积分 74 7.5 高斯消元 75 8 其它 77

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cls1277

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值