- 博客(14)
- 收藏
- 关注
原创 C# —— 刘铁猛讲课笔记
强类型指的是声明的变量是什么类型,以后它就是什么类型,弱类型指声明的变量可以是多个类型强类型语言是指在编程时要求严格定义变量的数据类型,不允许不同类型之间的隐式转换。在强类型语言中,变量的数据类型必须在编译时就确定,并且不会发生自动类型转换。强类型语言通常具有更严格的类型检查,能够在编译时捕获一些潜在的类型错误。弱类型语言是指在编程时对变量的数据类型要求较为灵活,允许不同类型之间的隐式转换。在弱类型语言中,变量的数据类型通常可以在运行时动态确定,允许自动类型转换。
2024-04-03 15:46:28 2798 5
原创 二分算法总结
注意能写成一下格式也就是说当num[mid]的值等于target的值的时候,我们不能把它放入小于或大于的条件中进行运算,很好理解,因为小于或大于的条件下l或r的值会发生改变,会使找找到的答案进行偏移,也可能TLE。
2023-12-09 12:20:35 58
原创 无向图的双连通分量
无向图双连通分量1 边的双连通分量 e-dcc 极大的不包含桥的连通块2 点的双连通分量 v-dcc 极大的不包含割点的连通块删除后不连通 的 两个定义桥o-o 桥o-o| | ↓ | |o-o - o-o1 如何找桥?xyx和y之间是桥 <=> dfn[x] < low[y] y无论如何往上走不到x //模板中反向边是不会遍历的+y能到的最高的点low[y] = dfn[y]2 如何找所有边的双连通分量?2.1 将所有桥删掉。
2023-08-08 15:09:21 77
原创 最近公共祖先
那么只会对x到lca(x,y)到y上的边产生影响,对于(x,y)我们将x节点的权值+1,y节点的权值+1,另lca(x,y)的权值-2,画图很好理解,那么我们进行一遍dfs求出每个节点权值,那么这个值就是节点父节点连边被覆盖的次数,按上述方法累加答案即可;在没有附加边的情况下,我们发现这是一颗树,那么再添加条附加边(x,y)后,会造成(x,y)之间产生一个环。链接:https://www.acwing.com/solution/content/1280/我们想,对于一条边(x,y),我们添加一条边;
2023-08-04 17:06:26 73 1
原创 差分约束...
注意求最大值是求的最小上界,最小值求的是最大下界差分约束两大应用应用一:1 求不等式组的可行解⭐源点需要满足的条件: 从源点出发,一定可以走到所有的边否则 用单源最短路做的话 有一条边走不到 则该边对应的不等式就无法满足某一个点x[i]走不到无所谓(某个点走不到代表它不受限制,x[i]取任意数都可以)过程:1 把每个x[i] ≤ x[j] + C[k]不等式转化为一条从x[j]走到x[i]长度为C[k]的边。
2023-08-01 16:29:40 63
原创 SPFA求负环
在求负环时,我们为什么可以认为无论dist[]数组内取任何数,即使数组内的值都不同也可以呢?首先我们我们可以假设有多种输入样例,这就就可以保证数组内的值都不同。在第一个样例中,dist[]内的元素值都为0,此时进入SPFA,使每个点都入队,在for循环中,只有边权小于0才能入队,开始循环遍历,当满足条件时我们就可以结束。
2023-07-28 16:50:24 82 1
原创 单源最短路的拓展问题
思路:这道题目有一个特点,就是有多个起点。我们可以建立一个虚拟的原点,把原点向所有起点连一条边,价值为0,这样就不会影响答案。所以,直接以虚拟原点为起点,做一遍spfa。
2023-07-27 17:54:51 50 1
原创 最小生成树及其拓展应用
肯定是不行的,因为在生成最小树的时候,如果还有一个中等的且比最大或次大小的边时,我们肯定会把它加上,从而减少更大边权的加入,形成最小树,因此我们只需要比较次大或最大边即可。从而不考虑小边的情况。在建边的时候,我们假设已经连成了一小个完全图,那么再遍历下一个不在完全图内的点时,我们只需要+(完全图内点的个数-1)*(题中给的此点与图内的一个点的边权+1)即可将此图连成完全图。题目说明:题中给你一个最小树,需要你加边使其变成完全图,并且所加的边一定大于原图的边权使得所加边不会使题目所给树的边权是最小的。
2023-07-27 17:37:55 1043 1
原创 单源最短路的综合问题
/题目中给出了此图不是拓扑图,因此可以用拓扑算法来求(保证了至少有一个块的入度为零,并且如果这个块内没有生产点时,那么就没有方案可以到达该连通块。因为我们要从生产点到达各个城市,而不是从城市到达生产点)代码看不懂可以在纸上画一个二分图就很好想了。
2023-07-25 11:33:36 48
原创 BFS--acwing
BFS是广度优先搜索(Breadth-First Search)的缩写,是一种常用的图遍历算法。它从起点开始,先遍历所有与起点相邻的节点,再逐层向外遍历,直到遍历完整个图。BFS算法可以用于许多问题,如查找图中两个节点之间的最短路径、生成所有可能的组合、求解迷宫等等。在实际应用中,BFS算法通常需要使用队列来实现。
2023-07-21 20:11:27 92
原创 DFS--acwing
思路:从第一组开始,如果一个数不能放进该数组中,那就把它放进第二个数组,之后dfs时就判断数是否能放进第二个数组中,这是每必要判断该数要不要放进第一个数组中,如果该数能放进该数组中,那它一定也可以放进第二个数组中。在DFS中,从起点出发,沿着一条路径尽可能深地遍历,直到无法继续为止,然后回溯到上一个节点,继续遍历其他路径,直到遍历完整个图。//由于dfs每层之间确定了顺序,所以期间是会有元素被漏掉的,【比如一开始你找的一串序列(1)是1,2,3,4 但是第二次(2)是1,3,4 很显然此时。
2023-07-20 21:22:53 719 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人