directed 121e tree arc

AtCoder Regular Contest 169 (ARC169)

怎么有人 ARC A 卡了半天的? A. Please Sign 考虑 \(i\) 位置上的数,下次它被加到 \(P_i\),再下次被加到 \(P_{P_i}\),因为这个序列有性质 \(P_i<i\),这样加若干轮一定会到达 \(1\)。 令所有的 \(i\) 向 \(P_i\) 连边,则这是一棵 ......
169 AtCoder Regular Contest ARC

CF1904E Tree Queries

给定一棵 \(n\) 个节点的树与 \(q\) 次询问,每次询问给出一个 \(x\) 与一个大小为 \(k\) 的点集 \(a\),要求求出在删去了 \(a\) 中的点后从 \(x\) 出发的最长简单路径的长度。每次询问独立。 \(n, q, \sum k \le 2 \times 10^5\)。 ......
Queries 1904E 1904 Tree CF

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

ARC169 B Subsegments with Small Sums 题解

Link ARC169 B Subsegments with Small Sums Question \(x\) 是一个序列,定义 \(f(x)\) 为把序列 \(x\) 切成几段,每段的和不能超过 \(S\) 的最小段数 给出序列 \(A=(A_1,A_2,\cdots,A_N)\) 求: \[\ ......
题解 Subsegments Small with Sums

ARC169 A Please Sign

Link ARC169 A Please Sign Question 给出 长度为 \(n\) 的数组 \(A\),以及长度为 \(n-1\) 的数组 \(P\),满足 \(P_i<i\),\(P\) 标号为 \(2\sim n\) 每一轮操作为 \(A_{P_i} \leftarrow A_i+A ......
Please Sign ARC 169

ARC169

A 我们定义 \(dp_{dep}\) 为第 \(dep\) 层会对上一层产生多少的影响。 如果有一层的影响大于 \(0\),在足够次计算后那么肯定是正号。如果小于零那就一定是负号。 由于越久影响到的,对答案的贡献就越大。 所以层数倒叙枚举即可。 code ......
ARC 169

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

ARC121D 1 or 2

题意 你有 \(n\) 个糖果,第 \(i\) 个的价值为 \(a_i\)。 每次操作可以选 \(1\) 或 \(2\) 个糖果。 问在所有的方案中,\(1\) 个或 \(2\) 个糖果的价值之和的最大值和最小值之差最小是多少。 Sol 很有趣的诈骗题。 首先套路的,考虑将选一个的情况变为选一个 \ ......
121D ARC 121 or

树上启发式合并(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

[ARC165E] Random Isolation 题解

题目链接 点击打开链接 题目解法 略有些套路的概率题,不过中间的把操作序列看成排列的操作还是很妙的 首先套路的考虑期望的线性性,有两个方式:把贡献放在点上或点集上,这里采用后面的方式做 对于每一个树上的集合 \(S\),假设大小为 \(n\),相邻的点为 \(m\) 考虑这个集合独立的限制为:相邻的 ......
题解 Isolation Random 165E ARC

Atcoder-ARC165F-Make Adjacent

ARC 165 - F - Make Adjacent Statement 给定一个长度为 \(2n\) 的数列 \(a\) ,其中对于每个数 \(i \in [1,n]\),恰好在 \(a\) 中出现两次。每次可以将两个相邻的数交换。最后要求 \(\forall i \in [1,n] : a_{ ......
Atcoder-ARC Adjacent Atcoder F-Make Make

ARC076D Yakiniku Restaurants

题意 有 \(n\) 个商店。每个商店有 \(m\) 个物品。每个物品的价值为 \(b_{i, j}\)。每种物品只能被购买一次。 你可以选择一个起点,在任意商店结束购买。获得的价值为 \(m\) 个物品之和减去路程。 求最大可获得的价值。 \(n \le 5e3, m \le 200\) Sol ......
Restaurants Yakiniku 076D ARC 076

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

ARC121D 1 or 2

ARC121D 1 or 2 诈骗题。 思路 吃一个糖的操作可以看做是和一个 \(a_i\) 为 0 的糖一起吃。 可以枚举有多少个糖单独吃来确定要增加多少个 0。 问题变为每次吃两颗糖。 根据人类直觉,有一个贪心,最小的糖和最大的糖一起吃最优,次小的糖和次大的糖一起吃最优,依次类推。 怎么证明这个 ......
121D ARC 121 or

[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

[ARC106E] Medals 题解

题目链接 题目链接 题目解法 感觉不难啊,怎么想到网络流和 \(hall\) 定理后面就屁都没想到呢 首先一眼网络流 先二分答案 考虑一个朴素的建图方法是:把每个人拆成 \(k\) 个点,然后往在的天连边,跑最大流,满流即合法 可以发现,跑网络流对这道题还说没有必要,因为只要判是否有完美匹配 不难想 ......
题解 Medals 106E ARC 106

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

[ARC125E] Snack 题解

题目链接 点击打开链接 题目解法 这题看起来很 \(flow\),不难想到边数 \(nm\) 的建图方法: 具体来说,边为 \((S,i,c_i)(i\in [1,m])\),\((i,j,b_i)(i\in [1,m],\;j\in [1,n])\),\((j,T,a_i)(j\in [1,n]\ ......
题解 Snack 125E ARC 125

[ARC141D] Non-divisible Set 题解

题目链接 点击打开链接 题目解法 很思维的题,需要用好所有的特殊性质 暴力的做法是建出图,然后求包含点 \(i\) 的最长反链,但这明显过不了 上面的做法没用到 \(a_i<2m\) 的性质 如何用?把 \(a_i\) 拆分成 \(q\times 2^k\;(k\) 为奇数\()\) 的形式,那么对 ......
题解 Non-divisible divisible 141D ARC

[ARC141E] Sliding Edge on Torus 题解

题目链接 点击打开链接 题目解法 比较套路的题 首先画个图,然后把 \(y-x\) 相同的变成一个点(使 \(y>x\)) 然后再两个点之间连有权边 那么问题就变成求新图的每个连通块中形成的原图的连通块数量 手玩几个数据发现,原图的连通块数量即为新图的所有环长的 \(\gcd\),再和 \(n\) ......
题解 Sliding Torus 141E Edge

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

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

[ARC120E] 1D Party 题解

提供二分+DP做法。 Solution 题意 给出 \(n(\le 2\times 10^5)\) 个单调递增偶整数 \(a_i\),求最小的 \(k\) 满足每一个 \(i\) 都可以在 \(k\) 时刻之前(含)与相邻的数相遇。每个单位时间可以移动一个单位距离。 思路 启发式思考 在想到正解之前 ......
题解 Party 120E ARC 120

Top Tree 学习笔记

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