binary tree

AT_cf17_final_j Tree MST 题解

题意:给定一颗 \(n\) 个点的树,点 \(i\) 有权值 \(a_{i}\),边有边权。现在有另外一个完全图,两点之间的边权为树上两点之间的距离加上树上两点的点权,求这张完全图的最小生成树。 首先有一个很显然的暴力,把完全图中每两点之间的边权算出来,然后跑一边最小生成树,时间复杂度 \(O(n^ ......
题解 final_j AT_cf final Tree

CodeForces 1902F Trees and XOR Queries Again

洛谷传送门 CF 传送门 如果我们能把 \(x \to y\) 路径上的所有点权插入到线性基,那么可以 \(O(\log V)\) 查询。 但是因为线性基合并只能 \(O(\log^2 V)\)(把一个线性基的所有元素插入到另一个),所以只能倍增做 \(O((n + q) \log n \log^2 ......
CodeForces Queries 1902F Again Trees

[ LeetCode ] 67. Add Binary

题目 Given two binary strings a and b, return their sum as a binary string. 思考 题外话:根据LeetCode premium的说法,这题是no.4最常被Facebook面试问到的题目 这题是二进制相加的问题 什么是二进制 二进 ......
LeetCode Binary Add 67

CF1843D Apple Tree 题解

题意: 思路: 树形 $ dp $ : 设 $ cnt_u $ 表示以 $ u $ 为根的子树中叶子节点的数量,那么状态转移方程有: 当 $ u $ 为叶子节点时, $ cnt_u = 1 $ ; 当 $ u $ 不为叶子节点时, $ cnt_u = \sum_{i ∈ Son_u} cnt_{v_ ......
题解 1843D Apple 1843 Tree

Top Tree 相关理论扯淡

目录前言Top Cluster 分解与 Top Tree从树分块说起簇、簇操作、树的簇表示法基于重量平衡的静态 Top Tree动态 Top Tree簇与 Top Tree 的性质静态 Top Tree 的应用树上信息合并链上修改与查询子树修改与查询维护动态直径例 1:【2023 集训队互测 Rou ......
理论 Tree Top

[ARC164E] Segment-Tree Optimization 题解

题目链接 题目链接 题目解法 一个自认为比较自然的解法 这种一段序列切成两部分的问题首先考虑区间 \(dp\) 令 \(f_{l,r}\) 为 \([l,r]\) 能构成的最小深度,\(g_{l,r}\) 为在 \(f_{l,r}\) 最小的情况下最少的最大深度的点的个数 转移枚举 \(k\) 即可 ......

element tree 优化线条树,添加增删改功能

需求:树状结构,支持操作功能(同级、子级、修改、删除)。 根据需求是否展示复选框和操作功能。 封装linetree.vue组件: 1 <template> 2 <div> 3 <el-tree :data="list" :props=defaultProps :expand-on-click-nod ......
线条 element 功能 tree

树上启发式合并(dsu on tree)

dsu on Tree(树上启发式合并) 当遇到处理子树询问,并且无修改时。可以考虑树上启发式合并。 算法流程: step1:处理出每个点的 \(siz_x\) 以及重儿子 \(son_x\)。 void dfs(int x, int fa) { siz[x] = 1; int Maxson = 0 ......
tree dsu on

(JDK21) java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'

报错:java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid ......
JCTree javac tools java NoSuchFieldError

F Trees and XOR Queries Again (树链剖分)

看了知乎一位大佬的文章,用st表优化了查询,在st表中维护线性基 让lognN^2的查询 少了个log加了很多优化的方法 但无济于事 但是这样跑了9000ms 依然没法过 优化了一下线性基的查询方式 从枚举位数变成了类似lowbit的__lg(返回最大的1的位置) 不知道具体怎么算的优化 现在时间大 ......
Queries Trees Again and XOR

ARC121E Directed Tree

ARC121E Directed Tree 有意思的容斥加树 dp。 思路 \(a_i\) 可以是除去 \(i\) 祖先之外的所有点,考虑 \(a_i\) 的逆排列。 每一个 \(i\) 在正排列里都可以被不是自己子树内的点选择,那么逆排列里 \(i\) 不可以放自己子树内的点(不包括自己)。 现在 ......
Directed 121E Tree ARC 121

[ARC121F] Logical Operations on Tree 题解

题目链接 点击打开链接 题目解法 比较好的题 首先要发现一个性质是:先删 AND 边,再删 OR 边最优 小证一下:分类讨论 AND 边两端的数字情况 \(0 \& 0\) 左右两端虽然可能可以把 \(1\) OR 过来,但这种情况先做 \(\&\),也一定可以 OR 得到 \(1\) \(0 \& ......
题解 Operations Logical 121F Tree

【题解】CodeForces 1902F Trees and XOR Queries Again

传送门:https://codeforces.com/contest/1902/problem/F 数据结构题,这里讲两种思路。 $ST$ 表思路: 判定“从若干个数中能否取出其中一些,使得异或和为 $x$”的问题,第一时间想到线性基,本题要做的显然就是快速求出询问路径上所有数的线性基。两组数的线性 ......
题解 CodeForces Queries 1902F Again

VBF(Versatile Binary Format)格式简介

一、综述 VBF(Versatile Binary Format)是主机厂常用的一种固件发行文件格式,包括沃尔沃、福特、吉利等均采用此格式。 二、格式 2.1 格式简介 VBF文件包含三部分:VBF版本段、文件头段、数据段。 VBF版本段:表明当前VBF文件使用的版本号。版本号使用ASCII码存储; ......
Versatile 格式 简介 Binary Format

CF1809D Binary String Sorting 题解

题意: 思路: 贪心: 单调不降的 $ 01 $ 字符串,一定是一串连续的 $ 0 $ 再加上一串连续的 $ 1 $ 。由于每次操作的代价很大,所以需要在操作次数尽可能少的情况下,尽可能多地使用交换操作。 由于 $ 1 $ 次交换操作,只能减少 $ 1 $ 个逆序对,当存在多个逆序对时,优先通过删除 ......
题解 Sorting Binary String 1809D

F. Trees and XOR Queries Again

首先容易想到lca+线性基,\(O(nlognB^2+qlognB^2)\),显然T飞了。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<vector> #i ......
Queries Trees Again and XOR

【题解】Trees and XOR Queries Again - Codeforces 1902F

https://codeforces.com/contest/1902/problem/F 方法一 可以从树上路径想到轻重链剖分(也可以用其他种类的LCA算法),然后从数的异或表示很容易想到线性基。 然后因为是无修改的,所以可以轻重链剖分+ST表+线性基。具体来说就是: 先进行轻重链剖分。然后把每次 ......
题解 Codeforces Queries Trees Again

CF1902 A Binary Imbalance 题解

Link CF1902 A Binary Imbalance Question 给出一个 01串,可以在任意一个位置 \(i\) 插入一个字符,如果 \(a_i \ne a_{i+1}\) 插入的字符为 \(0\) 否则插入的字符为 \(1\) 问,是否可以通过任意次操作使得串中 \(0\) 的数量 ......
题解 Imbalance Binary 1902 CF

Top Tree 学习笔记

前言 学了一周才学会... 本来是照着 OI Wiki 上的 SATT 写的,后来看到一半感觉自己懂了然后写了自己理解的版本。看题解后发现这个版本像 AAAT,于是我也不知道它应该叫 AAAT 还是 SATT 了。且叫它 AAAT 吧。 贺一张 lxl 的图: 正文 我理解的 AAAT 是维护子树的 ......
笔记 Tree Top

Top Tree 模板(咕)

Sone1 调不动了,所以是 lg P3690。 写着写着就不知道自己写的是 AAAT 还是 SATT 了,反正能用。 #include <iostream> #include <vector> #include <cassert> #define UP(i,s,e) for(auto i=s; i ......
模板 Tree Top

P9665 [ICPC2021 Macao R] Colorful Tree 题解

我永远喜欢数据结构。 题目传送门 给出一棵树,初始只有一个点 \(1\),其颜色为 \(C\)。 有 \(q\) 次操作,分为两种类型: \(0\space x\space c\space d\),记当前树中一共有 \(n\) 个点,新增一个 \(n+1\),其父亲为 \(x\),颜色为 \(c\) ......
题解 Colorful P9665 Macao 9665

[AGC052B] Tree Edges XOR 题解

题目链接 点击打开链接 题目解法 怎么感觉这场 \(B\) 比 \(C\) 思维量更大 考虑一步很妙的操作:把边权变成点权,以达到简化操作的目的 使每条边的边权为两端点的异或和,手画一下可以发现,操作简化成了交换两端点的点权 我们定义 \(d_{1/2,i}\) 定义为在 \(1/2\) 树上,\( ......
题解 Edges 052B Tree AGC

el-tree筛选时保留父节点和子节点

watch: { filterText(val) { console.log('val', val); this.$refs.tree.filter(val); } }, methods: // 筛选 filterNode(value, data, node) { if (!value) retur ......
节点 el-tree tree el

ICPC2022Xian L Tree 题解

Link ICPC2022Xian L Tree Question 给出一个根为 \(1\) 的树,需要将树分成几个块每个块,一个块中的节点需要满足以下条件中的一个: 对于所有的 \(u,v \in S,\ u \neq v\) ,满足 \(u \in subtree(v)\) 或 \(v \in ......
题解 ICPC 2022 Xian Tree

如何动态展开el-tree的某个子节点

需求: 当添加文件夹或者表单时展开该节点 addChildDirectory(node, data) { this.$nextTick(() => { // 重命名时展开改文件夹 this.$refs.tree.store.nodesMap[data.id].expanded = true; }); ......
节点 个子 el-tree 动态 tree

CF1901E Compressed Tree(树dp)

Problem 题目地址 Solution 来自fcy大佬的思路 记 \(f_u\) 表示假定以 \(u\) 为根的子树,在压缩后,(子树内的某一个点(包括 \(u\)))可以向外(除\(u\)为根的子树外所以点的集合)连一条边时的最大 \(sum\)。换言之,我们把树拆成 以\(u\)为根的子树( ......
Compressed 1901E 1901 Tree CF

[ABC321E] Complete Binary Tree

思路:第一次先把往后距离为 $k$ 的点算出来,然后再每次往前走一个,考虑 $k-i$ 的情况。(具体见代码注释)。 代码: ```cpp#include <bits/stdc++.h>using namespace std;// headint sum[100],head=0;int n,x,k; ......
Complete Binary 321E Tree ABC

CF1900 C Anji's Binary Tree 题解

Link CF1900 C Anji's Binary Tree Question 给出一个树,每个节点上有一个字母 L/R/U ,从 \(1\) 号根节点开始,L 表示接下来走到左节点,R 表示接下来走到右节点,U 表示接下载走到父节点 问,最少修改几个节点上的字母使得从根节点走到叶子节点 Sol ......
题解 Binary 1900 Anji Tree

Top Tree

总归要学的。 先写一下理解比较困难的点。 考虑 SATT 的建立过程:首先在树里面找到一个Compress Tree,这个树满足中序遍历写下来是根簇路径深度从小到大排列,然后根簇路径上挂着的小簇Rake起来,这个 Rake 的过程是容易的,考虑对于每一个直接连接的小簇,把他变成子问题,然后给一个代表 ......
Tree Top

从一次前端公共库的搭建中,深入谈谈tree shaking相关问题

项目背景 随着业务的积累,前端项目之间逐渐会产生许多可以跨项目复用的逻辑或组件。比如对前端数据库 indexedDB 的封装、对 fetch 请求进度和中断请求功能的扩展、以及可能会在多个项目使用的 react 和 vue 组件。当前已经有一个公共库专门用来收敛 js 的逻辑复用,但是随着相同技术栈 ......
前端 shaking 问题 tree