12 2022 档案
摘要:概念 继承:在定义一个新类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点)那么就可以把A作为一个基类,而把B类作为基类的一个派生类(子类) 派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量和成员函数 派生类一经定义后,可以独立使用,不依赖于基类 派生类拥有基类的
阅读全文
摘要:运算符重载,就是对已有的运算符赋予多重的含义,使同一运算符作用于不同类型的数据时导致不同类型的行为,作用就是扩展c++中已有运算符的范围,使之可以作用于对象,同一运算符对不同操作数,所发生的行为是不同的 运算符的重载的实质是函数重载 可以重载为普通函数,也可以重载为成员函数 把含运算符的表达式转换成
阅读全文
摘要:this指针 作用:指向成员函数所作用的对象 #include <iostream> #include <algorithm> #include <cstring> using namespace std; class Complex { public: double real, imag; voi
阅读全文
摘要:成员函数和类的定义分开写 class Crectangle { public: int w, h; int Area(); int Perimeter(); void Init(int w_, int h_); } int CRectangle::Area() { return W * h; } i
阅读全文
摘要:内联函数 我们知道函数调用是有时间开销的,当函数本身只有几条语句,而函数本身却被反复执行很多次时,函数调用的开销就会显得比较大,为了减小这种函数调用的开销,就引入了内联函数,编译器对内联函数的处理不像普通函数那样把调用堆栈,而是直接把函数代码嵌入到调用函数的语句的地方。 //在函数定义前面加“inl
阅读全文
摘要:1、用来定义常量 2、定义常量指针 不可通过常量指针修改其指向的内容 int n, m; const int *p = & n; //编译出错,通过常量指针p修改了n的值是不允许的 * p = 5; n = 4; //常量指针的指向可以改变 p = &m; 不能把常量指针赋值给非常量指针,反过来却是
阅读全文
摘要:剪枝 剪枝是搜索中很重要的一个环节, 尽早排除搜索树中不必要的分支。 优化搜索顺序 优先搜索分支数量较小的节点 排除等效冗余 比如从n个物品选m个物品,选1,2和选2,1是一样的,这样我们只需要遍历其中一个即可,如果不考虑顺序的话尽量按组合的顺序搜索 可行性剪枝 当我们搜索状态在进行中发现不合法了就
阅读全文
摘要:希望以后遇到的老师都正常一点好吧。数据结构实验报告写完了,才说有各种格式什么的,这种事不应该是第一节课就说的吗?而且说完刚改了三章,又发了个新模版说让用新模版,我真的哭死,我刚改了三章啊。真的破防了!
阅读全文
摘要:这是一道dp的题,好像也不算dp。需要递推,感觉能训练思维!!!很棒的一道题。 覆盖墙壁 关于这道题的分析 状态表示:f[i][0]表示前i列全部填满的所有方案,f[i][1]表示前i列全部填满缺一个的所有方案。属性:方案数 状态计算:f[i][0] = f[i - 1][1] + f[i - 2]
阅读全文
摘要:A题是一道模拟题按照题目的意思模拟就行,B题是一道思维题,C题是一道数论的题,D题是一道思维题,E题是一道树上差分的问题,E题关于树上差分看了好多博客其实还是不太理解。 A题 #include<iostream> using namespace std; const int N = 1010; in
阅读全文
摘要:最近公共祖先 #include <cstdio> #include <algorithm> #include <cstring> #include <queue> #include <iostream> #include <cmath> using namespace std; const int
阅读全文