判断从顶点u到v是否有路径 void ExistPath(AdjGraph* G, int u, int v, bool& has) { int w; ArcNode* p; visit[u] = 1; if (u == v) { has = true; return; } p = G->adjli ...
分类:
编程语言 时间:
2019-11-25 09:22:50
阅读次数:
63
题目描述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 思路分析:递归(二叉树最大深度,等于左右子树的最大深度+1) 代码实现: 一、深度优先比遍历(DFS) 二、层次遍历(BFS,广度优先) 时间复杂度:O(N ...
分类:
其他好文 时间:
2019-11-12 11:06:08
阅读次数:
97
对于所有限制,都可以写成形如$di>=dj+c$的形式(等式看成两个),然后这个东西很显然就是一张图的一条边,然后求最长路即可(当c为负移项即可)由于每一个人都要有糖,所以让di初始为1并入队即可(注意:最好判掉自环,可以快很多,如果不判在spfa时应将标记清空放在前面,否则就找不到自环了) 1 # ...
分类:
其他好文 时间:
2019-11-10 19:28:52
阅读次数:
109
P2196 挖地雷 题解 其实这道题是可以Floyd跑最长路的,但是注意一个问题就是dis数组要初始化负无穷,两个点之间不能相互到达一定要初始化dis数组为负无穷!!!敲黑板 当一条路不能走的时候,要把这条路赋成负无穷,不能赋成0,因为如果这条路走完后面的路权值和更大的话还是会选上这条路。(Orz ...
分类:
其他好文 时间:
2019-11-10 17:21:35
阅读次数:
88
$\Huge % Dybala$ T1 神奇单调栈,但是有点码农,要对着对拍调很久。 T2 观察到队长跑到i点之后,前面的[1,i)的点都被经过了偶数次,再次到达的时候又得被暗杀 所以通过点i的花费可以看成一个区间和的形式 T3 按拓扑序枚举。 由于起点&终点未知,建超级源汇。 然后最长路一定以源开 ...
分类:
其他好文 时间:
2019-11-06 10:24:27
阅读次数:
59
繁繁的游戏 Floyd 繁繁想和小伙伴们打游戏,游戏在一个山庄进行,这个山庄有N座山,编号为$1$到$N$,为了方便大 家在不同的山之间移动,繁繁建了一些桥,由于技术的原因,桥连接的两座山的高度差不能超过$d$,现在已知这些桥,求这个山庄最高的山和最低的山差距最大是多少? 输入格式 第一个一个数T, ...
分类:
其他好文 时间:
2019-11-05 17:15:36
阅读次数:
158
先考虑如何求出任意两数的最大差值和最小差值,直接差分约束建图跑floyd求最短路和最长路即可然后枚举i和j,考虑dA+dB和di+dj的关系,分两种情况移项,转化成dA-di和dj-dB的关系或dA-dj和di-dB的关系(只要有一个关系确定即确定)即可考虑(由于不等式都是两个变量,因此一定无法形成 ...
分类:
其他好文 时间:
2019-11-05 13:43:01
阅读次数:
95
f[i]表示以边i结尾的最长路径,g[i]表示以点i结尾的最长路径,f[i]=g[e[i].u]+1。注意特判边权相等的情况,每次更新边连接的出度点的g即可。 推的话,数据范围3e5所以想到dp,而且必须是一维,固定一维枚举一维。所以边权排个序,枚举时就不用管边权递增的约束条件,只需要特判下相等的情 ...
分类:
其他好文 时间:
2019-10-30 22:18:27
阅读次数:
108
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 ...
分类:
其他好文 时间:
2019-10-30 20:00:22
阅读次数:
103
1 #include<iostream> 2 #include<string> 3 #include<queue> 4 #include<stack> 5 #include<vector> 6 #include<map> 7 #include<cstdio> 8 #include<cstdlib> ...
分类:
其他好文 时间:
2019-10-30 18:00:07
阅读次数:
100