没有合适的资源?快使用搜索试试~ 我知道了~
本文件是一个Word文档,包含常见的算法代码,比如欧拉回路,深搜广搜等模板。
资源推荐
资源详情
资源评论
目录
大数
二分
枚举排列
子集生成
皇后回溯
并查集
树状数组
,,
背包,完全背包
最长不上升或下降子序列
最长公共子序列
拓扑排序
欧拉路径和回路
搜索
最小生成树
最短路
和
埃拉托斯特尼筛法
唯一分定理
扩展欧几里得
欧拉函数
快速幂
矩阵快速幂
说明
虽然只打了不到一年的 ,但是在 中一些算法以后还是可能用到的,在这里进行一个小小
的总结,总结了一些简单常见的算法模板(比较适合新手)
模板终究只是模板,最好还是自己真正掌握,经常依赖模板,只是自己还没掌握的表现;
本人只是一个 的小白,不是很全,代码也写的坑坑洼洼。。。,大佬勿喷,可能以后学习了
新的算法再补过来,主要还是方便以后自己复习。
大数
加法,乘法模板
题目链接 !"#$%&'(
题目大意 就是问你用 &)*)&*&)& 的砖拼成 &) 的长方形*有多少种拼法
解题思路 考虑 的时候*假设我们已经铺好了 + 块砖*第 块只能竖着放
假设我们已经铺好了 +& 块砖*最后两列有 , 种方式*但是其中有一种方法和上面是相同的
所以 -./%&)-.+&/0-.+/
1$2 !34$5
1$2 !3$4!"5
1$2 !34$5
4$"!42!46
24$"7%06
加法
4$$8!!4$4*4$4&9
$."7/*."7/6
"!"4!**4$:!-6
"!"4!**4$:!-6
$ !%44$:!* !&%4&4$:!6
$"7%"7 !* !&6
-$$%6$3 !6$00.$/%4. !++$/+;;6
-$$%6$3 !&6$00.$/%4&. !&++$/+;;6
-$$%6$3"76$009
$-.$/0.$/5%9
$!"%.$/0.$/6
.$/%!"<6
.$0/0%!"6
=
! 4!.$/0%.$/6
=
4$2%>>6
$-."7/?%
20%."7/0;;6
-$$%"7+6$5%6$++20%.$/0;;6
!26
=
乘法
4$$8!! 4$4*4$4&9
$."7/*."7/*2."7)&0'/6
"!"4!**4$:!-6
"!"4!**4$:!-6
"!"4!2**4$:!-26
$ !%44$:!* !&%4&4$:!6
-$$%6$3 !6$00.$/%4. !++$/+;;6倒置
-$$%6$3 !&6$00.$/%4&. !&++$/+;;6
-$$%6$3 !6$009
-$%63 !&6009
2.$0/0%.$/)./6
=
=
-$$%6$3"7)&6$009
$-2.$/5%9
2.$0/0%2.$/6
2.$/<%6
=
=
4$4%>>6
$$6
-$%"7)&6$5%6$++
$-2.$/?%
!@6
-6$5%6$++40%2.$/0;;6
!46
=
$"$9
-!!>$7>*>>*4$6
$6
4$4.&''/6
4./%>>*4./%>>6注意 的时候是
-$$%&6$3%&''6$009
4$!"%$8!! >&>*4.$+&/6
4.$/%$8!!4.$+/*!"6
=
A$ !B42-><>*C
2334./33! 6
!6
=
减法模板
1$2 !3$442005
24$"7%&06
4$"!42!46
!!- 6
具体实现
4$48-2)4*2)4&9
$."7/*."7/6
"!"4!**4$:!-6
"!"4!**4$:!-6
$ !%4 !4* !&%4 !4&6
$"7!%"7 !* !&6
-$$%6$3 !6$00.$/%4. !+$+/+;;6
-$$%6$3 !&6$00.$/%4&. !&+$+/+;;6
-$$%6$3"7!6$009
$-.$/+.$/39
.$/%.$/0+.$/6
.$0/+%6
=
! 4!.$/+%.$/6
=
4$4%>>6
$$6
-$%"7!+6$5%6$++$-.$/?%!@6
-6$5%6$++40%.$/0;;6
!46
=
大数减法的模板
4$$8!!2)4*2)4&9
$-4%%4&
!>>6相等
$ !%4 !4* !&%4 !4&6
$- !5 !&
!48-4*4&6
! 4!$- !3 !&
!>+>048-4&*46负数
! 4!9长度相等时判断大小
-$$%6$3 !6$009
$-4.$/+;;54&.$/+;;
!48-4*4&6
! 4!$-4.$/+;;34&.$/+;;
!>+>048-4&*46
=
=
=
$"$9
24."7/*4&."7/6
42-><4D<4>*4*4&6
233$8!!4*4&33! 6
!6
=
求阶乘以及位数模板
2"$4!2E!F $! !"#$%&G
大数阶乘的模板
1$2 !3$442005
4$"!42!46
24$"7%06
大数计算阶乘位数
H?%. H)H+)H+&)),)&)/0%. H0 H+0 H+&0
0 ,0 &0 /06
$-2$ $$$9
!4"%6
-$$%6$3%6$009
4"0% $6
=
!$4"06
=
大数计算阶乘
4$$I2$ $9
$4."7/*$$%6
4./%6
-$$%&6$3%6$009
$"%6
-$%63$$6009
$!"%4./)$0"6
4./%!"<6
"%!"6
=
A$ !"?%9
4.$$/%"<6
"%6
$$006
=
=
4$4%>>6
-$$%$$+6$5%6$++
40%4.$/0;;6
!46
=
$"$9
$6
A$ !B42-><>*C9
233-2$ $$33! 6阶乘的位数
233$I2$ 33! 6求出阶乘
=
!6
=
二分
二分的写法可以有很多种,这里列举几个常见的,主要是上界确定,区间以及查找元素是否重复的
问题,也可以看看这篇文章。
求最小的 $,使得 .$/%@!,若不存在,则返回+ A! 函数;
求最大的 $ 的下一个元素的下标200中的 ! 函数,使得 .$/%@!,若不存在,则返
回+;
求最大的 $,使得 .$/%@!,若不存在,则返回+;
求最小的 $,使得 .$/5@!,若不存在,则返回+;
求最大的 $,使得 .$/3@!,若不存在,则返回+;
1$2 !3$442005
4$"!42!46
24$"7%06
$2"24J$)*24J$)9
!)$)+)$)6
=
剩余61页未读,继续阅读
资源评论
Vax_Loves_1314
- 粉丝: 7671
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功