Cover the Tree 就当作是一个结论吧…当要用链覆盖所有的边时,对叶子节点根据dfs序排序后,根据$(i,i+s/2)$的配对规则进行配对即可,如果有奇数个叶子节点,则将其与根节点相连。 // Created by CAD on 2020/7/13. #include <bits/stdc ...
分类:
其他好文 时间:
2020-07-13 21:24:10
阅读次数:
94
BFS广度遍历代码模板 /** 广度遍历代码模板 */ public class TestBFS { public List<List<Integer>> bsf(TreeNode root) { // 如果节点为空 if (root == null) { return null; } List<L ...
分类:
其他好文 时间:
2020-07-13 18:26:06
阅读次数:
70
F. Ehab's Last Theorem 题意 给出一个 n 个顶点,m 条无向边的连通图,现在你可以选择以下两个问题中的一个问题解决。 找到一个大小为 $? \sqrt ?$的独立点集 找到一个大小最少为为$? \sqrt ?$ 的简单环 思路 本题需要学习DFS树 在 DFS 的时候如果遇到 ...
分类:
其他好文 时间:
2020-07-13 09:34:35
阅读次数:
64
知识点: DP,差分,Bfs 原题面 双倍经验 P3943 星空。 将此题代码交过去可直接 AC,但 P3943 数据较弱,没有卡掉错误的背包解法。 完全背包解法错误原因 详见 题解 P3943 【星空】 - Epworth 的博客。 题意简述 给定一长度为 \(n\) 的 $0$ 串,给定 \(k ...
分类:
其他好文 时间:
2020-07-13 09:25:09
阅读次数:
65
问题描述 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。 示例 1: 输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出: true示例 2: 输入: s1 = "aabcc", s2 = "dbbca" ...
分类:
其他好文 时间:
2020-07-13 09:22:58
阅读次数:
108
Description link 给定一棵二叉树,每个叶子上面有权值,你可以任意交换某个点的两颗子树 使得最后形成的树的中序遍历出来的子树的逆序对最少 \(n \le 2\times10^5\) Solution 如果你真的想做这个题,请耐心手玩样例并看懂这个题神仙一样的输入方式…… 考虑逆序对怎么 ...
分类:
其他好文 时间:
2020-07-13 09:17:09
阅读次数:
52
BFS和DFS DFS遍历使用递归(隐式使用栈): void dfs(TreeNode root) { if (root == null) { return; } dfs(root.left); dfs(root.right); } BFS遍历使用队列 void bfs(TreeNode root) ...
分类:
其他好文 时间:
2020-07-12 22:04:02
阅读次数:
66
首先java中也是有Pair类可以直接用的。在图或者相关问题中可以派上用场。 其次就是Dijkstra算法。这个算法我是看过,而且今天周赛这题(leetc5211)是挺容易想到该算法,但是我以前只看过没写过,导致我上午打开浏览器现学,结果算法学会了之后发现用邻接矩阵超内存限制,然后只好现学邻接表,学 ...
分类:
其他好文 时间:
2020-07-12 18:43:35
阅读次数:
67
挂一个模板。不懂,不过手玩起来似乎没有问题。 //有向图求欧拉回路,输出路径上的边的编号。复杂度不高于O(n^2) void dfs(int cur) { for (register unsigned int i = 0; i < vec[cur].size(); ++i) { int to = v ...
分类:
其他好文 时间:
2020-07-12 18:35:41
阅读次数:
50
图的邻接矩阵存储 源程序 #include <stdio.h>#include <stdlib.h> const int vnum=20; //定义图的类型typedef struct gp{ char verx[vnum]; int arcs[vnum][vnum]; int vernum,arc ...
分类:
其他好文 时间:
2020-07-12 17:06:40
阅读次数:
48