为期一个月的暑假集训结束了 是时候写一下总结了 也是回顾知识点把

本文回顾了作者在暑假期间通过acwing平台学习基础算法的经历,包括遇到的问题、改进的方向及对分治算法、splay树、图论等高级概念的理解。强调了总结经验、提升手速和思维的重要性,并对即将到来的比赛充满期待。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.问自己这个暑假学习了什么

  1. 打开自己平时的记事本,发现自己也就是学习了一些基础的算法,之前还是连这些算法都还不会,还要这些算法的思想 。
    在这里最先写一下自己平时写题目的一些不足:
    改完一个名字之后记得改上面的 还有就是命名不要起冲突了 这个点在调试的时候很傻逼。

二分 写的话 r要注意的是一定要写成 nums.size() - 1 这种形式 不然就会数组越界啊啊啊!!!! 还有要使用long long int 防止数组越界 爆long long 这题问题我觉得以后肯定不会出现了

还要对于打比赛的时候一个变量名的更新次序 调用次序 这些还是需要注意一下才行

变量名的话最好要有鲜明的风格 这样才知道那个具体是代表着什么 这样才不会出错 手速还是有待提高

对于一些动态规划的一些边界条件和初始条件 我觉得还是需要注意一下 这些条件的初始话也是需要注意的 不能有后效性

对于背包的话,一些带有价值变量的背包有时候需要考虑一下相邻两个背包物品之间的选区顺序 利用已知的数学式子去推倒一些状态 普通的背包是对于任意物品的选区顺序没有关系 一旦有些背包价值和一下变量挂钩 那么我们就得在选择的时候给予背包一定的顺序

在dfs的时候剪枝的时候需要注意的就是剪枝的顺序问题 你不能在这之前把答案给剪掉

还有一些题目在写贪心的时候要注意一些具体的边界问题

现在来理一下具体的算法问题:
在这个暑假的时候也是跟着acwing的yxc大佬系统的学习了一下基础的算法,感觉这个课程还是非常有用的,强烈推荐初学者跟着学习,看着别人写代码的一些习惯其实也是挺好的。
对于牛客的十场多校的话,唯一的感觉就是被教训的真参 发现自己有好多知识点都不会,图论的话完全就是一个萌新,对于一些高级数据结构的应用也才是刚入门
在这里说一下具体要学习的东西有什么:分治算法 splay树 还有各种图论的题目 tarjan算法 还有一个重点就是线性基了 这个东西解决异或的东西的时候特别的好用(当然这个时候也可以想到字典树数据结构的进阶还是需要加强的 在接下来也会对于牛客的十场多校做一个总结 补一下BM的这个神奇的板子!!!!到现在我还是不会 还有网络流的一些最基本的问题 还有一些搜索的剪枝的优化 各种dp的新的状态表示 还有lct lca算法 我现在还是不怎么熟悉
对于想到一个n^2或者更高的暴力算法想怎么优化的时候 那么就需要想到 (单调栈,单调队列 这两个好兄弟 及时排除掉一些不可能的选项) 然后有一个n可能利用线段树维护到logn 这个时候就可以往线段树 树状数组得东西上面考虑

树状数组的作用还可以用来求逆序数 就是将数的大小作为下标 或者维护一个 01 序列
然后在区间求和

树状数组的重点就是在于二分的思想 线段树就是区间的划分 区间的修改的时候要满足区间的可加性(如 gcd) 还有一个节点可以记录的是多个状态 这个具体要看题目问的是什么 比如就是区间最长的连续子序列的和 那么这个时候就需要记录多个状态 在询问的时候也要按照区间合并的思想进行询问

tarjan 算法 图论的知识点是一定要补的 在开学的这几天里面 有必要利用一些空闲的时间把acwing上进阶指南上面的题目给补题 还有数论的一些知识点 莫比乌斯函数

还要自己发现一些规律的题目 题目做完唯一需要的就是马上进行总结了 这样才能对于自己有比较大的提高

平时需要多打打cf,锻炼一下思维和手速

二.对于自己接下来的一些期望 : 只能说接下来的下半年的区域赛要加油了 , 不要让自己的暑假集训给白费了
暂时这么多了 等想起什么需要学习的知识点再来补充一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值