![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
暑假课件
文章平均质量分 90
我暑假上课的课件
fanxinfx2
穷困潦倒大学生
展开
-
一、STL的应用
作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则输出YES;的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。对于每个寄包柜,格子编号从 1 开始,一直到。个人围成一圈,从第一个人开始报数,数到。每个寄包柜格子数量不一,第。对于查询操作时,输出答案,以换行隔开。个整数,按顺序输出每个出圈人的编号。个格子,不过我们并不知道各个。的人出列,再由下一个人重新从。)和左右小(圆)括号构成,以。,寄包柜个数和询问次数。个整数,表示一次操作。原创 2024-06-08 23:18:30 · 932 阅读 · 0 评论 -
二、枚举法
枚举,故名思意,是一种把所有情况都列举出来,然后在所有情况中找到需要的答案,看似简单但是也需要加以思考。原创 2024-06-08 23:04:34 · 1058 阅读 · 0 评论 -
三、二分法
但是我们发现篮球的个数是线性的,这样的话我们就可以对篮球的个数进行二分,然后由篮球的个数得出足球的个数,并计算出此时所需的费用。所以我们要二分的是每块木头的长度,计算在此长度下,能分出多少块木头,如果分多了,则可以每块更长一点,如果分出的木块数量不够,则要减短每块的长度。由于计算出小数时会有精度损,所以我们不能用常规的二分思维来对小数进行二分,所以我们一般会设置一个精度范围(根据题目要求设置),如果误差在这个范围内,那我们就能接受这个答案,否则就可以继续二分。,分别表示原木的数量,需要得到的小段的数量。原创 2024-06-08 23:06:32 · 995 阅读 · 1 评论 -
四、递归&记忆化
fibnfib11fib21fibnfibn−1fn−1n≥3fib(n)=fibn⎩⎨⎧fib11fib21fibnfibn−1fn−1n≥3过程如图,弊端十分明显:fib(3)被反复调用了两次,做了大量的无用功。原创 2024-06-08 23:10:06 · 869 阅读 · 0 评论 -
五、搜索技术
思考一个迷宫问题:有一个错综复杂的迷宫,让一堆老鼠寻找迷宫的出口,老鼠应该怎么办?原创 2024-06-08 23:11:01 · 850 阅读 · 0 评论 -
六、动态规划引入
动态规划(Dynamic Programming,DP)题是算法竞赛中的必出题型。DP算法的效率高、代码少,竞赛队员不仅需要掌握很多编程技术,而且需要根据题目灵活设计具体的解题方案,能考察其思维力、建模抽象能力、灵活性等。。和贪心法、分治法一样,DP并不是一个特定的算法,而是一种算法思想。DP算法思想可以简单解释如下:DP问题一般是多阶段决策问题,它把一个复杂问题分解为相对简单的子问题,再一个个解决,最后得到原复杂问题的最优解;这些子问题是前后相关的,并且非常相似,处理方法几乎一样。把前面子问题的计算结原创 2024-06-08 23:13:13 · 1158 阅读 · 0 评论 -
七、数据结构(二叉树基础)
试想一下,我们怎么样才能计算一颗苹果树上有多少颗苹果呢?原创 2024-06-09 17:31:03 · 1011 阅读 · 0 评论 -
八、数据结构(二叉树的应用)
现在我们需要写一种数据结构来维护一些数(都是109以内的数字)的集合,最开始时集合是空的。其中需要提供以下操作,操作次数q不超过10000。1。原创 2024-06-09 17:31:42 · 868 阅读 · 0 评论 -
九、数据结构(并查集)
通常用“帮派”的例子来说明并查集的应用背景:在一个城市中有nn1061号、2号是朋友;1号、3号也是朋友,那么他们都属于一个帮派。在分析完所有的朋友关系之后,问有多少帮派,每人属于哪个帮派。这个数据量应该是不能用暴力的办法求解,那我们应该怎么办呢?由此,我们引出一种新的数据结构:并查集。原创 2024-06-13 19:59:16 · 924 阅读 · 0 评论 -
十、数据结构(图的基础)
intgraphNNintgraphNN,每个节点graphijgraphij表示从iii到jjj的距离。graphii!原创 2024-06-15 17:27:03 · 622 阅读 · 0 评论 -
十一、数据结构(图的最短路)
最短路径是图论中最为人们熟知的问题。原创 2024-06-15 17:28:37 · 783 阅读 · 0 评论 -
十二、树的直径
一对点之间经过的所有节点和边会组成一条链,最长的一条链就是最长路,在树中,最长链就是树的直径。对于解决这样的问题。每次输入x, y, d,表示从 x 到 y 距离为 d。求树的的直径与求图的最长路是一样的。原创 2024-06-15 17:31:49 · 216 阅读 · 0 评论 -
十三、数论基础
如果一个数太大,无法直接输出,或者不需要直接输出,可以把它取模后缩小数值再输出。最大公约数GCD和最小公倍数LCM是竞赛中常见的知识点,虽然这两个知识点很容易理解,但往往会与其他知识点结合起来出综合题。同样有矩阵快速幂的算法,原理是把矩阵当作变量来操作,程序和上面的很相似。快速幂以及扩展的矩阵快速幂,由于应用场景比较常见,也是竞赛中常见的题型。首先需要定义矩阵的结构体,并且定义矩阵相乘的操作。同余在数论中非常有用,它用类似处理等式的方式来处理整除关系,非常简便。这样大的数,一是数字太大,二是计算时间很长。原创 2024-06-18 21:10:56 · 953 阅读 · 0 评论 -
十四、 组合数学
人们在生活中经常会遇到排列组合问题。比如说:在5个礼物中选2个,问有多少种选取方法?组合数学就是研究一个集合内满足一定规则的排列问题。原创 2024-06-18 21:13:02 · 935 阅读 · 0 评论