自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 提高—数学知识

虽然是基础课,但是不是简单的意思,从难度来看,提高课也难不了多少,提高课主要讲应用。

2023-02-27 21:00:43 36

原创 提高—搜索·

BFS最核心的是可以求最小,重要的性质,第一次搜到就是最小,所以如果问题让我们求最小或者最短就是宽搜来写,还有就是基于迭代,不会爆栈,当一个搜索层数很深的时候,节点个数不深的时候,两个搜索都可以选择的时候,一定优先选择BFS。(以上就是两个特点)

2023-02-27 20:59:14 41

原创 提高—图论

在部副总裁

2023-02-27 20:58:40 35

原创 提高—高级数据结构

般的 都表示

2023-02-27 20:58:32 35

原创 提高—DP

NOIP的题目有个很大的特点,他的模型可能不太难,但是我们需要首先发现个性质,就会发现原来这么简单,但是性质发现是特别难的,而且每个题的性质还不一样。从背景抽象出来考察的模型也是很重要的能力。一般算法题考查两方面能力,一是思维,二是写代码的熟练度(比较好练,主要是砸时间)。

2023-02-27 20:57:45 28

原创 提高—基础算法

每个灯只能被按一次,可以从上往下来推,每个开关应不应该按,假设第一行开始的时候就被锁死,就可以通过第二行的状态推出第二行必须怎么按,如果上面是 1 的话, 下面的一定不能按,上面是 0 的话一定得按,然后前两行就被锁死。现在要避免两个数相乘,因为两个数相乘, 就不能用long long 来算,所以转换为两个相加,两个十的十八次方数相加是不会爆long long 的,long long 的最大范围是2的63次方 - 1,这个大概是9e18.只要第一行的开关的状态确定,则所有开关的状态都可以确定。

2023-02-20 00:06:01 26

原创 基础算法—贪心

比如区间问题无外乎排序,按照左端点排序或者右端点排序或者双关键字排序。贪心往往很难,但是考试的时候不会证明一个全新的东西,我们做的最多的是把当前遇到的问题转化为前面见过的某一道问题,所以不用太担心,考试的时候贪心就那几种,虽然每个模型都很难证明,把这几个模型记住也是可以的。2 从前往后依次枚举每个区间 在所有能覆盖strat 的区间中, 选择右端点最大的区间,然后将start更新成右端点的最大值。2 从前往后枚举每个区间,如果当前区间已经包含点,则直接pass, 否则 ,选择当前区间得右端点。

2023-01-26 23:28:42 45

原创 基础算法—DP

②a[i]不在,b[j]在 看似是max=f[i−1][j] , 实际上无法用f[i−1][j]表示,因为f[i−1][j]表示的是在a的前i-1个字母中出现,并且在b的前j个字母中出现,此时b[j]不一定出现,这与条件不完全相等,条件给定是a[i]一定不在子序列中,b[j]一定在子序列当中,但仍可以用f[i−1][j]来表示,原因就在于条件给定的情况被包含在f[i−1][j]中,即条件的情况是f[i−1][j]的子集,而求的是max,所以对结果不影响。这题关键介绍一种全新的实现方式,递归的实现方式。

2023-01-23 10:52:54 15

原创 基础算法—搜索与图论

因为题目上是有重边的情况的,假设1——>2是有权重为2和3的重边,我们在用1号结点更新2号结点时,2号结点会两次入堆,这样我们发现堆中会有很多冗余的点,当堆中弹出下一个 t 时,t 是为{2,2}的,而不是{2、3},因为 2

2023-01-11 19:45:43 11

原创 基础算法—数论

即从 (0, 0) 走到 (n - 1, n + 1) 的所有方案数,一共要走 2n 步,其中向右走 n-1 步,向上走 n+1 步,组合数就是 C(2n, n - 1) 或者 C(2n, n + 1)给定n个0和n个1,它们按照某种顺序排成长度为2n的序列,满足任意前缀中0的个数都不少于1的个数的序列的数量为: Cat(n) = C(2n, n) / (n + 1)数论考试的时候很少有用公式直接算的,可以把一个题目解决掉的情况,而是先会基础知识,然后自己做推导,根据推导的过程,把这个数论的问题解决掉。

2023-01-08 21:11:55 57

原创 基础算法—数据结构

但是上面效率很低,特别是new 很慢,所以用数组来模拟链表。

2023-01-08 17:19:52 38

原创 基础算法—基础算法

寒假算法系统学习ACwing基础网课总结

2023-01-05 22:02:29 37

原创 算法入门竞赛紫书(个人总结)

四舍五入到最近的整数,如round(-1.3)=-1;异:.严格来说int强制转换时向0取整,比如(int)-1.9=-1,而floor(-1,9)=-2;n = 0, a[++n] = x, 这里的++n是先进行++ 然后赋值a【1】 = x。如: floor(10.5) == 10 floor(-10.5) == -11。同:两者都是向下取整,比如(int)1.9=1, floor(1,9)=1;如: ceil(10.5) == 11 ceil(-10.5) ==-10。

2023-01-03 18:39:03 422

原创 算法笔记—刷题遇到的小知识点(知识点杂)

accumulate ( 形参1 , 形参2 , 形参3 ) 前两个形参指定要累加的元素范围,第三个形参则是累加的初值。一般scanf,printf可以应对大部分的题,但一道题目数据量特别大,就要用到快读快写模板。乘法容易爆范围,但是由于过程中不断取模,所以加法不会爆范围。b可能会爆long long的范围,这种情况就要用到快速乘了。c++中超好用的截取部分字符串的函数substr();使用自带的库函数 accumulate 的方法。快速乘就是将两个要相乘的一个数变成。a,b在long long的范围内。

2023-01-01 17:01:03 167

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除