随笔分类 - !学习笔记
摘要:$$\large\text{后 缀 “树" 组}$$
阅读全文
摘要:二分图学习笔记 定义 二分图又称二部图,是图论中的一种特殊模型,英文名叫 Bipartite graph。 二分图的节点由两个集合组成,且两个集合内部没有边。 百度的定义: 设$G=(V,E)$是一个无向图,如果顶点$V$可分割为两个互不相交的子集$(A,B)\(,并且图中的每条边\)(i,j)$所
阅读全文
摘要:如何使用负数下标呢? 让数组前面有东西 int y[100]; int *z = y + 50; 这样的话调用$z[-50]$就变成了调用$y[0]$ z[-50] = y[0]; 然后这样就可以实现调用啦~ 其实还有一个更暴力的方法:用$map$ $map$是$\log n$的$map$ $uno
阅读全文
摘要:前言 因为loceaner太菜了,他什么东西都不会 所以他打算学一个东西就记录一下 不过因为他很菜,所以他不会写原理…… 而且,他希望在2019CSP之前不会断更 就酱紫,就是写给他自己的……因为他太菜了 基础算法 小技巧 \(\sum_{i = 0}^{x}C(x, i)* C(y, i) = C
阅读全文
摘要:最后一次编辑于2019年8月15日上午11点18分 最小生成树 Kruskal \(kruskal\),一种求最小生成树的算法,其思想与贪心有些相似,具体做法为: 将边按照边权由小到大排序,每次拿出权值最小的一条边,看它连接的两个顶点是否在同一个连通块中(可以用并查集维护),如果在的话就不使用他,否
阅读全文
摘要:一些“基础”算法 枚举子集的子集 给定n个元素,问这n个元素组成的每一个集合的所有子集。 for(int S = 1; S < (1 << n); ++S) { for(int S1 = S; S1 != 0; S1 = (S1 - 1) & S) { //do something } } 最外层就
阅读全文
摘要:动态规划学习笔记 待更新 ←--这辈子是不会更新了 背包动态规划 01背包 有$N$件物品和一个容量为$V$的背包。第$i$件物品的费用是$c[i]$,价值是$w[i]$。求解将哪些物品装入背包可使价值总和最大。 $f[i][j]$表示前$i$件物品恰放入一个容量为$j$的背包可以获得的最大价值,转
阅读全文
摘要:声明:由于本蒟蒻太菜了,所以有些东西是从别的书上弄来的,具体请见《初等数论》、《基础数论》等。 ##写在前面 ###同余是个啥?? 在日常生活中,我们所注意的常常不是某些整数,而是这些数用某一固定的数去除所得到的余数,例如我们问现在是几点钟,就是用$24$去除某一个总的时数所得的余数,又如问现在是星
阅读全文
摘要:啥是快速幂 快速幂,顾名思义,就是快速算某个数的多少次幂。其时间复杂度为 \(O(\log N)\), 与朴素的$O(N)$相比效率有了极大的提高。 原理 来自学长: 我们可以把 \(b\) 分解成二进制数,其中从小到大每一个二进制位 是 \(b_1 ,b_2 ,...,b_{⌊\log b+1⌋}
阅读全文
摘要:##定义 质数又称素数,有无限个。指一个大于1的自然数,除了1和它本身外,不能被其他自然数整除的数,换句话说就是该数除了1和它本身以外不再有其他的因数;大于1又不是质数的正整数称为合数。 注意:1.1既不是质数也不是合数.2.2是最小的质数也是唯一一个偶数质数 为何质数是无限多的 假设质数有限 分别
阅读全文
摘要:今天又去看了一下STL里的set,来这里水一下博客 What is set? set的本质是一种功能受限的平衡树,不支持重复数字,也就是说如果插入一大堆数字12,输出它的长度还是1 如何定义 定义 set<类型>s; 头文件 #include <set> 基本用法 1. *begin()--询问第一
阅读全文
摘要:by ruanxingzhi 整除性 如果a能把b除尽,也就是没有余数,则我们称a整除b,亦称b被a整除。(不是除以,是整除!!) 记作:\(a|b\) |这个竖杠就是整除符号 整除的性质 自反性 对于任意$n$,有$n|n$. 传递性 若有$a|b,b|c$,则$a|c$. 反对称性 如果$a|b
阅读全文
摘要:今天学长来讲了一下对拍,我来整理一下 啥是对拍 首先,对拍是干啥的呢?? 对拍,主要是用于在考试或者比赛时的验证,可以通过自己针对性的数据找出程序的错误之处。可以将你打的程序与写的暴力程序比较,验证自己算法或猜想的正确性,也可以在做题时放后台运行,用于检测代码是否存在错误。 比如你在做一道题,你会写
阅读全文
摘要:指针定义 指针是一个值为内存地址的变量(或数据对象) 赋值 int *p=NULL;p=&a;(&取地址符) 一个栗子 int year=2016; int * ptr_year; *ptr_year=&year;(指向) 又一个栗子 int num=1024; int *ptr_num; ptr_
阅读全文
摘要:神仙位运算...... attack学长讲的我一头雾水,但我装作能听懂的样子2333 在讲位运算之前,学长插播了一点小知识,如下 memset #include<bits/stdc++.h> using namespace std; int a[9999]; const int maxn=9999;
阅读全文
摘要:今天闲的没事来整理一下图论的模板(某些出自他处) s勾p的邻接矩阵(adjacency matrix) 定义: 逻辑结构分为两部分:V和E集合。因此,用一个一维数组V(vertex)存放图中所有顶点数据;用一个二维数组E(edge)存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。 代码实现
阅读全文