摘要:
1 内存篇 2 静态内存、栈内存、动态内存 3 静态内存:用来保存局部static对象,类static数据成员、以及定义在 任何函数外的变量 4 栈内存:用来保存定义在函数内的非static对象。 5 动态内存:new出来的内存 6 7 分配在静态内存和栈内存的对象由编译器自动创建和销毁,对于栈内存 阅读全文
摘要:
1 构造函数的初始化列表的初始化顺序是按照声明先后初始化的 2 如: 3 class type{ 4 int i; 5 int j; 6 public: 7 type(int val) : j(val), i(j);//看上去是先初始化啊j,实际是先使用未初始化的j去初始化I,再用val初始化j 8 阅读全文
摘要:
1 不要返回局部变量的引用或者指针; 2 因为局部变量在函数调用完就消亡了,此时引用的对象或指针指的内存都被清空了 3 这时候再使用就可能出问题; 4 5 没有名字的对象叫临时变量; 6 7 函数返回值为引用时此时为左值,其他类型为右值; 8 这意味着可以对函数调用赋值;而右值是常量不能被赋值; 9 阅读全文
摘要:
1 生成函数: 2 本质是组合的乘法原理 3 组合是普通生成函数,排列是带阶乘的,因为考虑多重排列 4 5 例如: 6 有1g,2g,3g,4g的砝码各一个,想要凑成7g砝码的方案数 7 思考:这个方案数肯定是a1+...+an这样凑的而这种加法可以映射回乘法 8 每个数都有取与不取,不取对乘法的贡 阅读全文
摘要:
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N = 5e3 + 10; 5 ll dep[N], h[N], dis[N], vis[N], n, m, s, t, ans1 阅读全文
摘要:
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N = 1000; 5 ll dep[N], h[N], now[N],n, m, s, t, ee = 2; 6 7 struc 阅读全文
摘要:
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N = 5e3 + 10; 5 ll n, m, s, t, ans1, ans2, ee = 2; 6 ll flg[N][N] 阅读全文
摘要:
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N = 5e3 + 5; 5 ll n, m, s, t, ee = 2; 6 int flg[1000][1000], vis[ 阅读全文
摘要:
1 太懒了,发现一个博主写得非常好,原文来源https://www.cnblogs.com/zhangyachen/p/13946442.html 2 这里我是copy了一些我认为比较重要的 3 4 模板的编译和链接问题 5 6 大多数人会按照如下方式组织非模板代码: 7 8 将类或者其他类型声明放 阅读全文
摘要:
1 二分图: 2 可以把图上所有点分成两个点集,且每条边均不在同一个点集的图。 3 如果环为二分图,那么边数一定是偶边。 4 显然若起点在A集合,则从A集合出发的点都是奇数边,从B集合连出的边都是偶数边,成环的二分图必然是从B连回A的,故边数为偶数,这也证明的奇环不是二分图; 5 二分图成环一定是偶 阅读全文