合集-Winter Vacation Study Record

摘要:一.目的: 让一个函数或者类访问另一个类中的私有成员 关键字:friend 友元的三种实现: 全局函数做友元 类做友元 成员函数做友元 1.全局函数做友元: 2.类做友元: 类外写成员函数必须在类的作用域下实现 3.成员函数做友元: 阅读全文
posted @ 2024-01-25 19:18 Eric` 阅读(4) 评论(0) 推荐(0) 编辑
摘要:![image](https://img2024.cnblogs.com/blog/3374021/202401/3374021-20240126223126885-443337581.png) ![image](https://img2024.cnblogs.com/blog/3374021/202401/3374021-20240126223137720-1988187070.png) ![i 阅读全文
posted @ 2024-01-25 19:18 Eric` 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一.继承 普通实现: 继承实现: 总结: 继承好处:可以减少重复的代码 语法:class A:public B; A类也称为子类或派生类 B类也称为父类或基类 派生类中的成员,包含两大部分: 一类是从基类继承过来的,一类是自己增加的成员 从基类继承过来的表现其共性,而新增的成员体现其个性 二.继承方 阅读全文
posted @ 2024-01-26 22:38 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一.多态基本概念 多态多态可以分两类: 静态多态:函数重载和运算符重载属于静态多态,复用函数名 动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定-编译阶段确定函数地址 动态多态的函数地址晚绑定-运行阶段确定函数地址 动态多态的满足的条件 有继承关系 子类重写 阅读全文
posted @ 2024-01-26 22:39 Eric` 阅读(7) 评论(0) 推荐(0) 编辑
摘要:1.类模板 作用: 建立一个通用类,类中的成员 数据类型可以不具体制定,用一个虚拟的类型来代表 语法: template < typename T> 类 解释: template-声明创造模板 typename-表面其后面的符号是一种数据类型,可以用class代替 T-通用的数据类型,名称可以替换, 阅读全文
posted @ 2024-01-28 22:49 Eric` 阅读(10) 评论(0) 推荐(0) 编辑
摘要:1.概念 内部结构图: 一.构造函数 二.容量和大小 三.插入和删除 四.数据存取 五.互换容器 匿名对象:当前代码执行结束系统立马回收 ****用途:收缩内存 六.预留空间 阅读全文
posted @ 2024-01-28 22:51 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要:本质: string是C++风格的字符串,而string本质上是一个类 string和char*区别: char*是一个指针 string是一个类,类内封装了char,管理这个字符串,是一个char型的容器 特点: string类内部封装了很多成员方法 例如:查找find,拷贝copy,删除dele 阅读全文
posted @ 2024-01-31 21:41 Eric` 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1.双端数组 原理: 阅读全文
posted @ 2024-01-31 21:41 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要:用途: 1.给某个位置上数加一个数(单点修改)o(logn) 2.求某一个前缀和(区间查询)o(logn) #include <bits/stdc++.h> using namespace std; const int N=100010; int a[N],tr[N]; int n,m; int k 阅读全文
posted @ 2024-01-31 21:41 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要:待整理 阅读全文
posted @ 2024-01-31 21:42 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要:走迷宫 思路: 从起点开始,往前走第一步,记录下所有第一步能走到的点,然后从所第一步能走到的点开始,往前走第二步,记录下所有第二步能走到的点,重复下去,直到走到终点。输出步数即可。 这就是广度优先遍历的思路。 AC代码: queue #include <bits/stdc++.h> #define 阅读全文
posted @ 2024-01-31 21:42 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要:核心:局部最优->全局最优 例1:AcWing 905. 区间选点 思路: 1.将每一个区间右端点排序 2.枚举每一个区间,如果当前区间包含点,则之间pass,otherwise选择当前区间右端点 证明: 这里使用夹逼定理进行证明,后面的最大不相交区间和区间分组都是用的这个方式 Ans<=cnt证明 阅读全文
posted @ 2024-01-31 21:42 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要:待整理 阅读全文
posted @ 2024-02-01 20:03 Eric` 阅读(4) 评论(0) 推荐(0) 编辑
摘要:1.单链表 作用:存储树和图。 思路:数组模拟链表,又称静态链表。 优点:速度快 动态链表慢的原因是每次都要new在堆区申请空间 AcWing-826 代码: #include <iostream> using namespace std; const int N=1e5+10; int head; 阅读全文
posted @ 2024-02-01 20:03 Eric` 阅读(9) 评论(0) 推荐(1) 编辑
摘要:特点:先进后出 1.数组模拟栈 AcWing-828 #include <iostream> #include <stack> using namespace std; const int N=1e5+10; int m; int stk[N]; int tt;//栈顶下标 void push(in 阅读全文
posted @ 2024-02-01 20:04 Eric` 阅读(8) 评论(0) 推荐(0) 编辑
摘要:特点:先进先出 数组模拟队列 #include <iostream> #include <stack> using namespace std; const int N=1e5+10; int m; int q[N]; int tt=-1;//对尾下标 int hh;//队头下标 void push 阅读全文
posted @ 2024-02-01 20:04 Eric` 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P2678 跳石头 1.思路: 首先我们二分跳跃距离,然后把这个跳跃距离“认为”是最短的跳跃距离,然后去以这个距离为标准移石头。判断这个解是不是可行解。check函数去判断如果以这个距离为最短跳跃距离需要移走多少块石头,先不必考虑限制移走多少块,等全部拿完再把拿走的数量和限制进行比对,如果超出限制, 阅读全文
posted @ 2024-02-01 20:04 Eric` 阅读(15) 评论(0) 推荐(0) 编辑
摘要:231351 阅读全文
posted @ 2024-02-01 20:04 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要:54 42 阅读全文
posted @ 2024-02-02 22:40 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要:11 阅读全文
posted @ 2024-02-02 22:40 Eric` 阅读(8) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示