ICode9

精准搜索请尝试: 精确搜索
  • LCA-最近公共祖先 向上标记法、倍增法、Tarjan2022-02-07 23:03:23

    LCA 向上标记法 时间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)

  • 关于.Net Core生成JSON时错误2022-02-05 19:02:57

    错误信息: A possible object cycle was detected which is not supported. This can either be due to a cycle or if the object depth is larger than the maximum allowed depth of 32. 造成此问题的原因是由于在生成Json对象的时候属性的循环引用导致的。   解决办法 : 在 Sta

  • 树链剖分求lca2022-02-05 18:02:31

    题目描述 给一棵有根树,以及一些询问,每次询问树上的2 个节点A、B,求它们的最近公共祖先. 输入 第一行一个整数N.接下来N 个数,第i 个数Fi 表示i 的父亲是Fi. 若Fi = 0,则i 为树根. 接下来一个整数M.接下来M 行,每行2 个整数A、B,询问节点(A xor LastAns)、(Bxor LastAns)的最近公共祖先

  • dfs之迭代加深2022-02-04 17:32:01

    为什么要用迭代加深 \(dfs\) 每次会选择搜索树的一个分支,不断深入,直到达到递归边界条件;但这种搜索策略带有一定的缺陷性: 如果搜索树的某一个分支中的节点个数特别多,但是答案并不在这棵子树里面,那么我们就需要花费很多的无用时间去搜索这棵子树。 如图: 在这张图中,假设我们的目标节

  • 【CF1632E2】Distance Tree2022-02-03 21:06:39

    传送门 还是不错的树论题,但是不太明白E1的意义。 分析: 容易发现直接连 \((1,u)\) 这样的边是最优秀的。 我们考虑一个判定性问题:对于某个确定的 \(x\) 和 \(ans\),怎么判断答案是否 \(<=ans\)。 定义点 \(u\) 深度 \(d(u)\) 为 \(1\) 到 \(u\) 经过的边数,显然 \(d(u)\le ans\) 的点

  • 寒假:Day252022-02-02 23:00:41

    Day25 最近公共祖先问题(LCA)1172. 祖孙询问 - AcWing题库 LCA模板题 #include<bits/stdc++.h> using namespace std; const int N = 40010, M = 2 * N; int n, m; int h[N], e[M], ne[M], idx; int depth[N], fa[N][16]; // depth存每个节点的深度,fa存倍增往前走2^i步到哪

  • luogu P3128 [USACO15DEC]Max Flow2022-02-02 15:32:38

    题目链接:luogu P3128 [USACO15DEC]Max Flow 题目大意: 题解: 用树上差分来统计,点的差分与边的差分有所不同,对于\(u\)、\(v\)之间的路径上的点权都加\(1\),用差分数组表示就是\(diff[u]+1, diff[v]+1, diff[lca(u,v)]-1, diff[fa[lca(u,v)][0]]-1\)。 #include <iostream> using name

  • CodeForces 191C Fools and Roads2022-02-02 15:04:36

    题目链接:CodeForces 191C Fools and Roads 题目大意: 给定一个\(N\)节点的数,然后有\(M\)次操作,每次从\(u\)移动到\(v\),问说每条边被移动过的次数。 题解: 用树上差分来统计,\(u\)走向\(v\),则\(u\)、\(v\)之间的路径上的边权都加\(1\),用差分数组表示就是\(diff[u]+1, diff[v]+1, diff[

  • 1614. Maximum Nesting Depth of the Parentheses2022-02-02 03:31:07

    这道题就是921的变种,话不多说: public int maxDepth(String s) { int count = 0; int max = 0; for (char c : s.toCharArray()) { if (c == '(') { count++; max = Math.max(max, count);

  • 树上倍增求树中任意两点2022-01-30 11:58:33

    跳步祖宗数组 fa : fa [ i ] [ 20 ] 表示从当前位置向上跳 2^ j 次方步后所在的点的代号。 深度数组 depth[ i ] : 表示当前的点的深度。(用于比较两点位置。 跳步祖宗数组需要预处理:(dfs for(int i = 1; i <= n; i ++) { if(!st[i]) // 挨个, 防止有不连通的块没有遍历到;

  • 日撸代码300行:第25天(二叉树深度遍历的栈实现 (中序))2022-01-28 22:02:43

    代码来自闵老师”日撸 Java 三百行(21-30天)“,链接:https://blog.csdn.net/minfanphd/article/details/116975721 package datastructure.stack; /** * * Object stack. * * @author WX873 * */ public class ObjectStack { /** * The depth. */ public stati

  • 102. 二叉树的层序遍历2022-01-20 13:01:44

    文章目录 题目代码运行结果总结 题目 ''' Description: 102. 二叉树的层序遍历 Autor: 365JHWZGo Date: 2022-01-19 23:49:10 LastEditors: 365JHWZGo LastEditTime: 2022-01-20 12:13:37 ''' 代码 # Definition for a binary tree node. # class TreeNode(object):

  • 《MonoRec:Semi-Supervised Dense Reconstruction in Dynamic Environments from a Single Moving Camera》2022-01-20 00:03:00

    参考代码:MonoRec 1. 概述 介绍:这篇提出了一种纯视觉的自监督深度估计算法,它结合现有实例分割、视觉里程计等视觉相关领域中相关技术,构造出这篇提出的MonoRec单目深度估计方法(在做训练的时候也采用了双目的图像作为输入)。在自监督单目深度估计网络中,一个很大的困难便是需要区

  • ASPP - 空洞空间金字塔池化2022-01-18 16:03:52

    文章目录 1 空洞卷积1.1 空洞卷积的理解1.1.1 一维1.1.2 二维 1.2 空洞卷积的优劣 2. ASPP3. 代码 1 空洞卷积 1.1 空洞卷积的理解 1.1.1 一维 (a) 正常卷积:输入特征 Input feature,kernel = 3,stride = 1,pad = 1,输出特征 Output feature。 (b) 空洞卷积:与图 (a) 不同

  • POJ - 1084 Square Destroyer(IDA*算法)2022-01-18 13:00:37

    POJ - 1084 Square Destroyer #include <cstdio> #include <cstring> #include <vector> using namespace std; const int N = 61; // 网格最大是 5 * 5 的,其中最多会有 5 * (5 + 1) * 2 = 60 个正方形,所以要开到 61 int n, idx; // n 为网格规模,idx 为正

  • 二叉树平衡检查LeetCode简单题2022-01-15 16:05:20

    平衡的定义如下,已知对于树中的任意一个结点,若其两颗子树的高度差不超过1,则我们称该树平衡。现给定指向树根结点的指针TreeNode* root,请编写函数返回一个bool,表示该二叉树是否平衡。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;

  • 二叉树的最小深度2022-01-15 14:04:25

    二叉树的最小深度 题目:二叉树的最小深度 《程序员代码面试指南》第33题 P100 难度:原问题 士★☆☆☆ 进阶问题 将★★★★ 本题书上有普通解法和进阶解法。进阶解法用到了遍历二叉树的神级方法——Morris遍历,暂时不看,有空回来补。 下面介绍普通解法。很简单,就是在遍历的过程中去发

  • 力扣每日一题 2022.1.72022-01-12 20:04:23

    力扣每日一题(自学用) 日期 : 2022.1.9 最近在学算法,打算每天刷刷力扣题目,太难的话可能我也写不出来,就找其他题更新好了 如果字符串满足以下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS): 字符串是一个空字符串 "",或者是一个不为 "(" 或 "

  • 最大流模板2022-01-08 11:57:59

    const int Maxn = 1e5; const int Maxm = 1e5; const LL Inf = 0x3f3f3f3f; struct edge { int to[Maxm * 2 + 5], Next[Maxm * 2 + 5]; LL val[Maxm * 2 + 5]; int len, Head[Maxn + 5]; edge () { len = 1; memset (Head, 0, sizeof Head); } void Init (

  • leetcode1614. 括号的最大嵌套深度2022-01-08 00:00:40

    如果字符串满足以下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS): 字符串是一个空字符串 "",或者是一个不为 "(" 或 ")" 的单字符。 字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是 有效括号字符串 。 字符串可以写为 (A),其中 A 是一个 有

  • 2022-01-07每日刷题打卡2022-01-07 23:04:43

    2022-01-07每日刷题打卡 力扣——每日一题 1614. 括号的最大嵌套深度 如果字符串满足以下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS): 字符串是一个空字符串 “”,或者是一个不为 “(” 或 “)” 的单字符。 字符串可以写为 AB(A 与 B 字符串

  • 算法题(九)--二叉树的最大深度2022-01-05 23:34:57

    一、题目     解法一:迭代法 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution(object): d

  • LeetCode-111. 二叉树的最小深度2022-01-05 19:05:01

    LeetCode-111. 二叉树的最小深度 难度:简单 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 class Solution { public: // int fun(TreeNode* root ,int depth){ // if(!root->l

  • DNA sequence HDU - 1560(IDA*)2022-01-03 12:35:32

    题目链接 题意: 题目分析: 首先注意到n的范围很小,可以得知答案序列并不会很长,直接深搜我们需要记录每一个序列正在匹配的位置,可以使用IDA* 来优化,启发函数就是当前未匹配的序列中的最大长度,这里我们假设其它未匹配序列都是最大长度的序列的子序列,故能验证启发函数的正确性 代

  • Airtest API精讲之报告日志log()2022-01-03 10:00:07

    上期回顾:Airtest API精讲之断言 以下基于python3.8;airtestIDE1.2.11;airtest1.2.2;pocoui1.0.83 log()用于将日志显示在Airtest HTML报告中,我们可以主动调用记录日志,Airtest自身也会调用log()记录执行日志。 源码解析 先来看看源码(不想看源码的可以直接跳到后面的演示实例): # 

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有