笔记
文章平均质量分 81
El_Apocalipsis
这个作者很懒,什么都没留下…
展开
-
【笔记】二叉树遍历
二叉树的先序遍历,中序遍历,后序遍历分别对应着先:根左右 || 中:左根右 || 后:左右根 的递归输出方式先序中序后序非常形象的说明的是根和左,右的相对位置关系我们可以用结构体储存一颗二叉树如下:struct node { int left, right, num; //left用于存左儿子的地址 //right用于存右儿子的地址 //num存当前地址p[root]对应的值 };no...原创 2018-07-10 11:27:21 · 487 阅读 · 0 评论 -
【笔记】 素数筛法(朴素筛法,优化筛法,线性筛法)
素数在OI中的应用很广很多题都会用到素数,那么如何得到素数就是件很重要的事了暴力枚举并判断?当然可以但实在太暴力了一点考虑到如果一个数i是素数,那么i的倍数显然不可能是素数由此我们可以通过不断的筛去不是素数的数,从而得到剩下的素数-------------------------------------------------------------------------------------...原创 2018-07-11 10:34:21 · 1126 阅读 · 2 评论 -
【笔记】 欧几里得(扩展欧几里得)
欧几里得本质:利用辗转相减法求最大公约数,即 gcd(a, b)。数学表达: 设 a > b ,则 gcd(a, b) = gcd(a-b, b)不断地利用大的数减去小的数,就能得到最大公约数。证明:设 a = k1 * g, b = k2 * g, g = gcd(a, b)那么 gcd(k1, k2) = 1...原创 2018-07-11 11:15:26 · 542 阅读 · 2 评论 -
【C++ 与 STL】动态数组:vector
摘自:博主柳婼vector是一个模板类 所以使用时要用vector<int> a 或者 vector<double> b这样的方式来声明一个vectorvector<int>是一个类似于int a[]的整数数组,而vector<string>是一个类似于string a[]的字符串数组clear()清空resize()改变大小push_bac...转载 2018-03-05 14:41:21 · 270 阅读 · 0 评论 -
【笔记】求组合数 C
组合数C满足递推公式C(n, m) = C(n -1, m - 1) + C(n - 1, m)代码如下:void getc (){ C[1][0] = C[1][1] = 1; for (int i = 2; i < N; i++) { C[i][0] = 1; for (int j = 1; j < N; j++) C[i][j] = (C[i...原创 2018-09-10 20:56:23 · 227 阅读 · 0 评论 -
【笔记】最短Hamilton路径 (图论,状压dp)
最短Hamilton路径是指:给定一张n (n<=20)个点的带权无向图,点从0~n-1标号,求起点0到终点n-1的最短Hanmilton路径eg: Hamilton路径的定义是从0到n-1不重不漏地经过每个点恰好一次 ll w[N][N];ll hamilton (int n){ int dp[1<<n][n]; // dp[i][j] 表示 第i个状态...原创 2018-09-22 13:16:01 · 1716 阅读 · 0 评论 -
【笔记】 补码
整数补码:正数:各位不变负数:按位取反后最低位加一小数补码:正数:各位不变负数:按位取反后最低位加一原创 2018-10-06 20:55:09 · 227 阅读 · 0 评论