树的直径+统计连通块数。 和树的直径的模板题不同的是要求出所有能够构成直径两个端点的点,即为最深的根。 注意对$n=1$的特殊处理,这个corner case还是挺好想的,第一次交$23$分,调试一下就发现了。 由于要从小到大输出所有最深的根,故将它们全部插入集合中输出。 连通分量直接dfs统计就行 ...
分类:
其他好文 时间:
2021-01-27 13:11:33
阅读次数:
0
地址 https://vjudge.net/problem/POJ-3187 题意是给你一个N(1<=N<=10) 要求将1到N的数字进行排列 然后进行杨辉三角运算 每行的数字等于上一行相同坐标和上一行相同坐标右边的两个数字之和 最后得到唯一的一个数字 现在给予N 和一个M 请问初始的N个数字该如何 ...
分类:
其他好文 时间:
2021-01-27 13:02:49
阅读次数:
0
原题链接 1 class Solution: 2 ans = 0 3 def sumOfLeftLeaves(self, root: TreeNode) -> int: 4 def dfs(root,flag): 5 if not root:return 6 if not root.left and ...
分类:
其他好文 时间:
2021-01-26 11:58:52
阅读次数:
0
原题链接 考察:二分图匹配+线性代数(?) 完全是参考大佬的思路: 根据线性代数的知识,如果矩阵的对角线全为1,说明该矩阵的秩是满的,而初等变换(交换行或者列)不改变矩阵的秩,因此行变换可由列变换代替,其实这道题感觉是在求矩阵的秩,行列变换同时进行会改变矩阵的秩,因此这道题只用行变换或者列变换即可 ...
分类:
其他好文 时间:
2021-01-25 11:35:38
阅读次数:
0
题解 并不需要什么高级数据结构 用树链剖分维护 对于每种颜色开个 \(\text{vector}\),然后把是这种颜色的点的 \(\text{dfs}\) 序加进来排序 对于 \([dfn[top[x]],dfn[x]]\) 这一区间问有没有某种颜色 相当于问某种颜色有没有至少一个在这个区间内 直接 ...
分类:
其他好文 时间:
2021-01-25 11:14:34
阅读次数:
0
**思路:**反向建边,以每一个农场为起点dfs一遍,得到从这个农场开始能够访问到的奶牛数目cnt,若cnt = k说明所有的奶牛都能到这个农场,结果+1. 复杂度:\(O(n(n+n+m))=O(nm)\),1e7不会超时 #include<iostream> #include<cstring> ...
分类:
其他好文 时间:
2021-01-25 10:54:37
阅读次数:
0
题意: 给一棵以 1 为根的 n 个节点的树,每个节点上有 \(a_i\) 个人, 每个人可以选择往任意子节点走, 直到走到叶子节点为止, 问最后人最多的叶子节点最少有多少人? 思路: dfs维护信息就可以,维护当前节点的所有叶子节点个数,叶子节点的最大人数值,所有叶子节点的人数和,然后把当前节点的 ...
分类:
其他好文 时间:
2021-01-25 10:47:44
阅读次数:
0
DFS 解法 class Solution { public int numIslands(char[][] grid) { int count=0; for(int i=0;i<grid.length;i++){ for(int j=0;j<grid[0].length;j++){ if(grid ...
分类:
其他好文 时间:
2021-01-21 10:54:58
阅读次数:
0
地址 https://leetcode-cn.com/problems/palindrome-partitioning/ 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a ...
分类:
其他好文 时间:
2021-01-21 10:34:20
阅读次数:
0
深度优先搜索的代码: public class DepthFirstSearch { private boolean[] marked; // marked[v] = is there an s-v path? private int count; // number of vertices con ...
分类:
其他好文 时间:
2021-01-21 10:29:02
阅读次数:
0