ICode9

精准搜索请尝试: 精确搜索
  • 缩树游戏(tree)2021-09-22 18:04:01

    代码稍后补充 Sol 考虑树形DP。以1为根,其余同理 设方程\(f[i][j]\)表示当前搜到搜索标号为\(i\)的节点,该节点剩余\(j\)条边,并保证根节点未被删除的方案数。 先考虑链的情况:只有单子树。 枚举子树状态:假设子树的根标号为\(x\),得到\(f[x][0—siz[x]]\),现在要求\(f[i][0—siz[i]]\)

  • YBTOJ 路径求和2021-09-22 08:34:13

    题面: 题目分析: 考虑每一条边对于答案的贡献,根据树的性质,每一条边一定将整棵树分成了两个子树,而该边的贡献=子树1中叶节点数子树2中节点总数+子树2中叶节点数子树1中节点总数。 由于树有一个重要性质: 树的任意一个点都可以作为树的根 然后?没了。 哦不是,还有一个重要的点: 要注意

  • 删除二叉树的子树2021-09-19 15:37:28

    #include <iostream> #include <vector> #include <stack> #include <queue> using namespace std; struct Node{ int val; Node *left; Node *right; explicit Node(int value):val(value),left(nullptr),right(nullptr){} }; Node

  • P1272 重建道路 | 树上背包2021-09-16 19:03:21

    题目描述 从一棵树上选择数量最少的边断开 使得拆出的子树大小为P 题解 树上dp 设 \(f[i][j]\) 表示子树i中拆分出j个节点 需要最少删去多少边 考虑树上背包的模板 我们对于一个节点now 合并时候 把该节点的每个子树看成一个组 子树中每一个点看成物品进行分组背包 由于每个非根节

  • [Leetcode Weekly Contest]2582021-09-15 23:03:54

    链接:LeetCode [Leetcode]2000. 反转单词前缀 给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。如果 word 中不存在字符 ch ,则无需进行任何操作。 例如,如果 word = "abcdefd" 且

  • SDUT 2021 Autumn Team Contest 4th2021-09-13 23:03:05

    文章目录 Problem A. Super-palindrome——思维Problem J. Master of GCD——差分+快速幂Problem C. Master of Phi——枚举找规律博弈Problem B. Master of Phi——数论推公式Problem D. Master of Random——逆元 以下题目出自 该网址 Problem A. Super-palindrome—

  • 平衡二叉树2021-09-11 10:02:47

    一、平衡二叉树的概念 平衡二叉树(( Balanced Binary Tree ),简称平衡树(AVL_G.M.Adelson.-Melsky、E.M.Landis ) ,树上任意结点的左子树和右子树的深度之差不超过1。 结点的平衡因子=左子树的高度-右子树的高度 二、平衡二叉树的平衡调整 在二叉排序树中插入和删除结点后,只需要调整

  • 树论基础2021-09-10 22:01:49

    树形结构 树是数据结构与算法中一种非常重要的结构,是由N个具有层次的结点组成,其具有以下特点: (1)有一个根结点,一般称为root结点 (2)每一个元素称为node (3)除了root结点外,其余结点会被分为n个互不相交的集合,即n个互不相交的子树 树形结构基本名词: (1)结点:node,树形结构里的基本元素 (2)子树:除

  • Leetcode110.平衡二叉树2021-09-10 09:31:41

    Leetcode110.平衡二叉树 题目描述 /** * 给定一个二叉树,判断它是否是高度平衡的二叉树。 * * 本题中,一棵高度平衡二叉树定义为: * * 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 */ 思路分析 高度平衡的二叉树,即平衡二叉树,平衡

  • 奇怪的树形背包优化2021-09-10 08:04:28

    昨天考试遇到的,很奇怪的样子,写一下。 众所周知,树形背包可以轻松地做到 \(\Theta(nm)\)。 考虑如何把树拍成序列。我们注意到树上一个点被选择仅当它所有的祖先被选择,换过来说我们dp的顺序是要先儿子后祖先。应此我们可以按后序遍历顺序(先儿子后父亲)或者直接dfs序倒着来。它的子树

  • P1122 最大子树和 (树形dp2021-09-06 19:00:03

    添加链接描述 #include<bits/stdc++.h> using namespace std; const int N=32009; int w[N]; int e[N],h[N],ne[N],idx,vis[N]; void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++; } int dp[N]; void dfs(int u,int fa){ dp[u]=w[u]; for(int i=h[u];~i

  • test#22021-08-25 15:00:32

    8.16模拟赛(综合2) A.极源流体 不会。 B.等差数列 考点:数学 考虑枚举公差k,并枚举不变的数a[i]。 此时确定了公差和序列中的一个数,整个序列就确定了。 检验序列是否合法: 公差为负数:a[i]-(i-1)*k>0。 这样可以保证能够从a[1]至a[i]之间每两项之间的差不为负数。 任意一项\leq\ w

  • HDU7084/2021“MINIEYE杯”中国大学生算法设计超级联赛(10)1008. Pty loves string(Border/KMP Fail树/DFS序/主席树)2021-08-23 12:35:10

    Problem Description Pty has a string S of length n consisting of lowercase English letters. He denotes the value of string T as the number of occurrences of T in string S. Now he has Q queries, for each query he gives you x,y. Let the string T be the conc

  • 牛客多校第九场 E Eyjafjalla(树上倍增+主席树)2021-08-18 13:35:07

    牛客多校第九场 E Eyjafjalla(树上倍增+主席树) 题目链接:E Eyjafjalla 题目大意: 给你一颗树,每个节点代表一个城市并且有各自的温度,其中节点 \(1\) 作为城市首都,温度最高,特别的是,每个子节点的温度小于父节点的温度,即温度从节点 \(1\) 向下递减。 我们有 \(q\) 组询问,魅族询问给出 \(x

  • 树上博弈2021-08-16 21:02:16

    树上博弈 前置知识 基础图论知识,SG定理 问题描述 设\(T\)为一个森林,其中有\(n\)颗有根树,且树根都在地面上。\(Alice、Bob\)每次选择某一棵树的一条边,删除这条边以及这条边所连接的地上部分,最后无法操作的人输掉博弈。 简化问题 引入“竹子”的概念,如果一棵树退化成链,那么我们称其

  • 索引之B-TREE定义及约束2021-08-15 21:01:54

    B-tree的特点:   1、节点至少包括两个孩子   2、树中每个节点最多含有m个孩子 m>=2   3、除根结点及叶子节点外每个节点最多含有ceil(m/2)个孩子   4、所有的叶子节点都位于同一层 假设每个非终端节点中包含n个关键字信息,其中   a、Ki(i = 1~n)为关键字,且关键字按顺序升

  • CF1290E Cartesian Tree2021-08-05 16:34:31

    考虑笛卡尔树的意义: 一个点在笛卡尔树中的子树,代表以他为最小/最大值的区间。 所以一个点的子树大小,一定是类似到达序列边界或者被一个比他更大的数隔离。 考虑记录 \(l_i,r_i\) 为第 \(i\) 个数往前的第一个比他大数位置,以及往后第一个比他大的数位置。 则该的子树大小为为 \(r

  • POJ - 2486 Apple Tree(树形dp)2021-08-04 21:34:38

    题目链接 题目大意   有一棵以1号点为根的树,每个树上有一定的苹果,你可以在树上来回走k步,问最多拿多少种苹果。 解题思路   每个点一共有三种状态,一种是经过这个点一共走x步到了某个点,一种是回到这个点,一种是没回到这个点。   状态表示:   dp[i][j][1]: 回到了i点,一共在i的

  • 2021 多校 杭电 第五场2021-08-03 23:00:59

    三人在线训练,开着语音基本不说话,只发发在干啥 每次开局读题我说我读了,bzy还要我他读了,就很气,然后今天就没做啥签到题,也基本躺了 貌似 zzs 爆发了 11 点闹钟,醒是醒了,但是好像忘了要比赛,翻身又睡,12点被zzs闹钟叫醒,就叫个外卖待在宿舍打比赛了 09 自闭了一会儿,想不出什么好的解法,但

  • 二叉树概述2021-07-30 23:33:57

    1.二叉树概述 树是一种经常用到的数据结构,用来模拟具有树状结构性质的数据集合。 树里的每一个节点有一个值和一个包含所有子节点的列表。从图的观点来看,树也可视为一个拥有N 个节点和N-1 条边的一个有向无环图。 二叉树是一种更为典型的树状结构。如它名字所描述的那样,二叉树是

  • 树上DP模版题 重建道路2021-07-25 20:01:41

    树上DP 模版题重建道路 https://www.luogu.com.cn/problem/P1272 题意: 有n个点,n-1条边 , 求最少去掉多少条边会使使一颗含有P个点的子树和其他节点分离。 分析: 通过读题我们可以知道这个一颗树,含有根节点,无环,那么我们可以从上往下或从下往上的来思考。 我们可以维护一个二维数

  • Note -「Dsu On Tree」学习笔记2021-07-18 12:02:03

    前置芝士 树连剖分及其思想,以及优化时间复杂度的原理。 讲个笑话这个东西其实和 Dsu(并查集)没什么关系。 等等好像时间复杂度证明伪了?? 算法本身 Dsu On Tree,一下简称 DOT,常用于解决子树间的信息合并问题。 其实本质上可以理解为高维树上 DP 的空间优化,也可以理解为暴力优化。 在这

  • LKJZ28-对称二叉树2021-07-17 13:30:02

    LKJZ28-对称二叉树 https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof/ 分治递归解决 上来先考虑特殊情况root==nullptr,return true; 在子函数compare里递归解决 递归终止条件 1.左右子树都为空return true; 2.左右子树其中一个为空retu

  • [loj3014]独特的城市2021-07-11 14:32:26

    约定:一棵树的深度定义为其中到根最远的点到根的距离 考虑节点$x$的答案: 任取一条直径,根据直径的性质,到$x$较远的直径端点一定是到$x$最远的点之一 由此,不难证明对于$x$独特的点,一定在$x$到"到$x$较远的直径端点"的路径上 分别以直径的两个端点为根(做两次),每一次求出$x$到根路径上所

  • 最大子树和(树形dp)2021-07-07 01:02:53

    传送门 树形dp入门题,先放代码 #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; struct Edge{ int v, w, next; }edge[N]; int tot, head[N], maxn = -2147483647, f[N], value[N]; void add(int u, int v){ edge[tot].v = v; edge[tot].next = head[

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

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

ICode9版权所有