摘要: 计算x的y次幂,x,y及返回的结果都为浮点数。 需要注意的是当x为负数及y为小数发生错误。 当x为0且y小于0发生错误。 阅读全文
posted @ 2022-07-21 11:46 何太狼 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。 第一个顶点和最后一个顶点相同的路径称为回路或环(Cycle)。 序列中顶点不重复出现的路径称为简单路径。 除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路,称为简单回路或简单环。 只有两个点一条边的无向图不能算作 阅读全文
posted @ 2022-07-16 17:13 何太狼 阅读(48) 评论(0) 推荐(0) 编辑
摘要: #定义 2-SAT(Satisfiability)问题是这样的:有n个布尔变量,另有m个需要满足的条件,每个条件的形式都是“$x_i$为真/假或者$x_j$为真/假”(每条语句只有两个变量并且用或连接)。 我们的任务是判断对于n个布尔变量是否有合适的取值(0或1)来满足所有的条件。 #解法 由于每种 阅读全文
posted @ 2022-07-15 17:04 何太狼 阅读(14) 评论(0) 推荐(0) 编辑
摘要: #点双连通分量(bcc) 在一个连通图中(无向图)任选两点,如果他们之间至少存在两条“点不重复”的路径,称这个图为点双连通。一个图中的点双连通极大子图称为“点双连通分量”(block,2-connected component,BCC)。点双连通分量是个“可靠”的图,去掉任意一个点,其他点任然是连通 阅读全文
posted @ 2022-07-11 16:25 何太狼 阅读(123) 评论(0) 推荐(0) 编辑
摘要: #定义 对于树上的每一点,计算其所有子树(包括"向上"的那棵子树)中最大的子树节点数,这个值最小的点就是这棵树的重心。 OI WiKi 我的理解就是重心是整个物体(在这里是树)的平衡点,为了保持平衡从重心出发到其他点的距离都不会太大而导致失衡。 #性质 1.一棵树最少有一个重心,最多有两个重心,若有 阅读全文
posted @ 2022-07-10 16:28 何太狼 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 弗洛伊德(Floyd-Warshall) 时间复杂度\(O(n^3)\) 多元最短路,核心思想是依次将所有点作为中转点并更新所有路径。 核心代码也只有5行 for(int i=1;i<=n;++i)//外层循环一定是中转点 for(int j=1;j<=n;++j) for(int k=1;k<=n 阅读全文
posted @ 2022-07-03 18:55 何太狼 阅读(96) 评论(0) 推荐(0) 编辑
摘要: #定义 在无向图中,所有能互通的点组成了一个“连通分量”。在一个连通分量中有一些关键的点,如果删除它们,会把这个连通分量分成两个或更多,这种点称为割点(Cut vertex)。 类似的有割边(Cut edge,又称为桥,bridge)问题。在一个连通分量中,如果删除一条边,把这个连通两个(注意边最多 阅读全文
posted @ 2022-05-22 22:05 何太狼 阅读(601) 评论(0) 推荐(0) 编辑
摘要: #定义 欧拉路径 图中所有的边都经过且只经过一次(一笔画)。 欧拉回路 起点与终点相同的欧拉路径。 #欧拉路径(回路)判定 有向图的欧拉路径 图中恰好存在一个点出度比入度多一(起点),一个点入度比出度多一(终点),其余节点出度=入度(可进可出)。 有向图的欧拉回路 所有点的入度=出度(任意点可作为起 阅读全文
posted @ 2022-05-21 23:48 何太狼 阅读(273) 评论(0) 推荐(0) 编辑
摘要: #cin.getline(name,ArSize) name为数组名,ArSize为要读取的字符数,该函数最多读入的字符数为ArSize-1,读到换行符时停止并丢弃换行符。 #cin.get(name,ArSize) 与cin.getline()的区别为cin.get()会将换行符留在输入队列中。 阅读全文
posted @ 2022-05-15 18:44 何太狼 阅读(502) 评论(0) 推荐(0) 编辑
摘要: extern与.h文件 ### extern `extern`是一个关键字。正常情况下,声明一个全局变量会自动定义它,并未它分配内存,但加上`extern`后不会定义,仅仅是声明。 ``` #include using namespace std; extern int a; int main() { cout using 阅读全文
posted @ 2022-05-08 20:39 何太狼 阅读(720) 评论(0) 推荐(0) 编辑