- 博客(5)
- 收藏
- 关注
转载 拓扑排序专项总结
拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。对于图上任意两点 x,y (x≠y),当 x 的拓扑序大于 y的拓扑序时,x 不能到达 y。拓扑序可以决定 dp 的顺序,而拓扑排序则是用于求图上的点的拓扑序。而拓扑排序则是用于求 DAG(有向无环图)的拓扑序。所以在有向有环图和无向图上是不存在拓扑序的。
2023-10-12 21:30:58 66
原创 树形 DP总结练习
在树形结构中,每个节点都有一些子节点和一个父节点,因此在树形动态规划中,通常需要考虑当前节点的状态以及它的子节点的状态,再通过状态转移方程来计算当前节点的最优状态。树形动态规划的核心思想是将一个大的问题拆分成若干个小的子问题,并计算每个子问题的最优解,最后汇总得到整个问题的最优解。如果 当前节点 是其 父节点子树 的 最大路径 上的点,则 父节点子树 的 最大贡献 不能算作对该节点的贡献。然后我们再 dfs 一遍,求解出每个节点的父节点对他的贡献(即每个节点往上能到的最远路径。
2023-09-21 20:53:25 47
原创 2023.9.19训练补题
当去除一个儿子之后,以该儿子为根的子树中的点(除了去除的儿子)全部存活,另一个儿子接下来被感染,问题转化为了被感染的儿子的那棵子树能够存活多少,成了原问题的子问题。树根现在遭受了感染,在之后的每一秒钟,你能够去除树的一个节点,之后感染的节点向未感染的相邻节点传染。假设删除 lson,那么相当于在 lson 的子树里我们可以保留下 size[lson]−1 个节点,size[i] 代表以 i 为根的子树的大小(包含节点 i),,且丢弃),然后玩家 B 出牌,对手 A 应牌,依次轮转,直至。
2023-09-19 22:33:52 109
原创 9.13训练补题
什么时候将该点入队:这个路径到达该点时距离最小。bfs:每次检查是否符合条件,更新最短路径。题目意思是,一次可以走多步。强化bfs板子熟练度,结合题面含义。总结问题: 难度不大,主要是别忘记细节处理。3).注意剪枝:合适的时候break。题型:复习dfs/bfs板子。注意数组别开小,数据范围~!1).记得pop();2).记得处理边界问题。
2023-09-13 22:10:41 98
原创 2023.9.12训练
,只需要考虑相邻三个不能重复,每三个一循环,循环的数字可以循环内调整,多个循环的数字排列必须保持一致。构成:2 3 5 2 3 5...,2 5 3 2 5 3...,...等等。余2: 保证余的最小,是2、3,所以是2 3 5、3 2 5两种情况。余1:保证余的最小,是2,所以2 3 5、2 5 3,2种情况。其次是gcd(x,y)=1,就是2,3,5。最后一点就是,n=1的时候需要特判。思维题,读题需要好好审清楚问题。余0: 完整,有6种。
2023-09-12 19:59:08 87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人