codeforces segments 1858d trees

Codeforces Round 906 (Div. 2)

Codeforces Round 906 (Div. 2) 比赛链接 A. Doremy's Paint 3 题目链接 判断给定的数组是不是满足a1+a2=a2+a3=a3+a4=......=an-1+an A思路: 这个题一开始没有读仔细问题,导致一时间出错了,后来读清楚问题之后发现其实这个数组 ......
Codeforces Round 906 Div

Codeforces Round 907 (Div. 2) B. Deja Vu(二分+后缀和+位运算)

Codeforces Round 907 (Div. 2) B. Deja Vu 思路: 预处理31位的 \(2^x\) 存在\(tmp_i\) 对于输入\(a_i\),通过查找最后一个二进制1位置,存在\(x0_i\) 由题意可知,对于输入的\(x\),如果有\(a_i\)可整除\(x\),则会使 ......
后缀 Codeforces Round Deja 907

ErikTse2023Codeforces思维提升赛(4)

A An array a consisting of k integers is strictly increasing if \(a_{1}<a_{2}<⋯<a_{k}\). For example, the arrays \([1,3,5], [1,2,3,4], [3,5,6]\) are s ......
Codeforces 思维 ErikTse 2023

codeforce+9b6a3100-4e23-4261-a16c-527d1183bf79

A An array a consisting of k integers is strictly increasing if $a_{1}<a_{2}<⋯<a_{k}$. For example, the arrays $[1,3,5], [1,2,3,4], [3,5,6]$ are stric ......
codeforce 3100 1183 4261 527

CF1039D You Are Given a Tree

CF1039D You Are Given a Tree 更好的阅读体验 一种神奇套路:对答案根分,根分的依据是链的长度和答案大致是一个成反比的关系。 考虑确定了 \(k\) 怎么做。因为一个点只能在一条链里,所以 dfs 的时候如果能拼成一条链就一定会拼成一条链,不然就把贡献传给父亲继续尝试。 对 ......
1039D Given 1039 Tree Are

Codeforces Round 907 (Div. 2)

Codeforces Round 907 (Div. 2) A. Sorting with Twos 题意: 给一个长度为n的数组,可以做任意次以下操作:选择一个整数m,将1-2m 的数减1。若能使数组变为一个单调递增的数组则输出YES,否则输出NO 分析: 只需要保证2m+1 -2m+1单调递增即 ......
Codeforces Round 907 Div

Codeforces Round 906 (Div. 2)

Codeforces Round 906 (Div. 2) A. Doremy's Paint 3 解题思路: \(a_1 + a_2 = a_2 + a_3\),所以\(a_1 = a_3\)。以此类推。所以整个序列最多出现两种不同的数字。 \(n = 2\)时,必然存在。 \(n = 3\)时, ......
Codeforces Round 906 Div

Educational Codeforces Round 129 (Rated for Div. 2)

Educational Codeforces Round 129 (Rated for Div. 2) B可以看作一个无限长的序列由a进行重复拼接,我们直接计算一下是哪个即可。 C判断无解之后直接模拟即可 D IDA*就行每次从大到小搜,实际非常快。 #include<cstdio> #includ ......
Educational Codeforces Round Rated 129

k-D Tree小记

k-D Tree 是一种能够 高效处理 \(k\) 维空间信息 的数据结构。 建树 k-D Tree 具有二叉搜索树的形态,二叉搜索树上的每个结点都对应 \(k\) 维空间内的一个点。其每个子树中的点都在一个 \(k\) 维的超长方体内,这个超长方体内的所有点也都在这个子树中。 假设我们已经知道了 ......
小记 Tree k-D

Codeforces Round 906 Div. 1 (CF1889)

貌似现在发周六的 CF 题解已经失去了时效性,不过问题不大。 A. Qingshan Loves Strings 2 Description 定义一个长度为 \(k\) 的 \(01\) 串 \(s\) 是好的,当且仅当 \(\forall i\in [1,k],s_i\neq s_{k-i+1}\ ......
Codeforces Round 1889 906 Div

Codeforces Round 907 (Div. 2)

Codeforces Round 907 (Div. 2) B题注意到每次都会至少下降1,所以不会超过30次,直接O(30n)即可 C题感觉可能比D和F还要思维一些。 肯定是尽量多积累combo一些然后一次清空,那么我们能清空的最大值就是当前的最大值,所以每次用小的来累计combo,然后消除当前的最 ......
Codeforces Round 907 Div

Codeforces Round#907 解题报告

只更新 DEF 看了一眼standings榜一居然十二分钟写了一个剖分,感觉有点猛,仔细把代码都看了一遍发现是开黑的。逆天。 比上一场 div2 质量不知道低到哪里去了。 D 对于不同的 \(f(x)\) 一段一段求,\(f(x)\) 一共 \(\log\) 种,指数也是 \(\log\) 种。全都 ......
Codeforces 报告 Round 907

Codeforces Round 906 (Div. 2)A-E1

A. Doremy's Paint 3 记数组中数的种类数为\(k\),当\(k=1\)时,答案为\(yes\);当\(k=2\)时,记两个种类的数的个数差为\(d\),当\(d≤1\)时,答案为\(yes\);其他情况答案为\(no\)。 时间复杂度:\(O(nlogn)\) 1 void sol ......
Codeforces Round 906 A-E Div

Codeforces Round 906

tilian 代码很长 但是思路很清新 我们发现k=2 意思我们只用考虑sum[i]<=2的地方 不从天入手而是反而考虑这些个 sum[i]<=2 的地方 sum[i]2 这个地方被两个区间cover过 我们可以算出这两个区间的相交的<=2的数量+这两个区间<=1的数量 sum[i]1 这个地方被一 ......
Codeforces Round 906

Codeforces Round 895

提炼 感觉这种题还是很金典的 我们看到乘积 就应该想到其很容易爆 而我们省1的话 也最多就是2e5数量级的 我们为了省事不用算上界 可以直接把这个上界设为1e9 也不会爆LL 只要乘积突破这个上界 我们就肯定要是有旁边的 大于1的数 我们都要吃掉 因为增量都超过了1e9那么多 我们只要算出左右两边 ......
Codeforces Round 895

CF1891F A Growing Tree

给定一棵以 \(1\) 为根的有根树,支持以下两种操作共 \(q\) 次: 加入一个点; 子树内点权加。 \(q \le 5 \times 10^5\)。 最傻逼的一集,怎么会有这么简单的 d2f。 不难发现每个点存在的时间区间构成时间轴上的一段后缀,于是我们可以将所有操作离线下来,先把完整的树建出 ......
Growing 1891F 1891 Tree CF

CF1891F A Growing Tree

CF1891F A Growing Tree 更好的阅读体验 有点诈骗。好多人都写的 LCT,但是这题其实连树剖都不需要。提供一个简单的单 \(\log\) 小常数做法。 动态加点是假的,可以离线下来得到最后树的结构,记一下 dfn 序。 一个操作对一个点有可能贡献当且仅当操作在加点之后进行。 所以 ......
Growing 1891F 1891 Tree CF

数据结构之树(Huffman tree(赫夫曼树 / 霍夫曼树 / 哈夫曼树 / 最优二叉树))

赫夫曼树概述 HuffmanTree因翻译不同导致其有多个名字:赫夫曼树、霍夫曼树、哈夫曼树 赫夫曼树又称最优二叉树,是一种带权路径长度 最短的二叉树。 所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。 树的路径长度 ......
数据结构 Huffman 结构 数据 tree

codeforces 1829G. Hits Different 容斥原理+记忆化搜索

题目描述: 给定一个n,把n给打倒,然后递归的求出包含n在内的上面所有的会倒下的瓶子值的平方和。 这里使用二分先求出目前给定的n的行号i和列号j。观察可以发现,对于所有的列号j,j=1或者j=i时,是需要考虑往上单边的总和,其他情况都有两个分支。 再观察可以发现,两个分支在再上一行的重合部分,会被d ......
codeforces Different 原理 记忆 1829

[CF403E]Two Rooted Trees

Two Rooted Trees 题面翻译 题目描述 你有两棵有根树,每棵树都有 \(n\) 个结点。不妨将这两棵树上的点都用 \(1\) 到 \(n\) 之间的整数编号。每棵树的根结点都是 \(1\)。第一棵树上的边都是蓝色,第二课树上的边都是红色。我们也称第一棵树是蓝色的,第二棵树是红色的。 对 ......
Rooted Trees 403E 403 Two

E. Tracking Segments

E. Tracking Segments 题目大意: 给一个全为零的数组,m次询问区间,q次修改,定义一个区间中的1个数严格大于0个数为漂亮,问在第几次修改后出现了第一个完美区间。 思路: 对修改次数进行二分,利用前缀和判断区间中的1个数,时间复杂度为$mlog(q)$ code int n, m; ......
Tracking Segments

CodeForces 1246F Cursor Distance

洛谷传送门 CF 传送门 发现一个性质:能跳不超过 \(j\) 步到达 \(i\) 的所有点形成一段区间。设这这段区间为 \([L_{i, j}, R_{i, j}]\)。 那么答案即为: \[\sum\limits_{i = 1}^n \sum\limits_{j = 0} n - R_{i, j ......
CodeForces Distance Cursor 1246F 1246

Element Plus el-tree懒加载默认选中

百度上试了很多方法,设置default-expanded-keys不生效,最后使用了下面的方法,亲测有效 const loadNode = async (node: Node, resolve: (data: AreaType[]) => void) => { if (node.level 0) { ......
Element el-tree Plus tree el

Codeforces Round 906 (Div. 2) A-E1

比赛地址 A. Doremy's Paint 3 题意:给出一个数组\(b\),问能否通过重新排序使得数组满足\(b_1+b_2=b_2+b_3=...=b_{n-1}+b_{n}\) Solution 首先判断元素个数 如果是1,则满足条件 如果是2,需判断不同元素个数的差是否小于等于1 其余的均 ......
Codeforces Round 906 A-E Div

PAT甲级:1174 Left-View of Binary Tree

题目:1174 Left-View of Binary Tree 25分 题解:层次遍历输出每一行最左边的元素。(最开始以为输出部分节点的左子树...想不到思路) using namespace std; #include <iostream> #include <vector> #include ......
甲级 Left-View Binary 1174 Left

Codeforces Round 904 (Div. 2) C. Medium Design(前缀和+差分)

Codeforces Round 904 (Div. 2) C. Medium Design 思路: 因为出现的线段应该为不相同的线段,所以最小值应该为 \(1\) 或 \(m\) 因此我们可以通过差分储存线段范围内的加值,再用前缀和表示这个范围内的最大加值 sl为不包含\(1\)的线段的差分,sr ......
前缀 Codeforces Design Medium Round

CF762F Tree nesting

来一点更清楚的、实现方面的东西。 做法同 这篇,他的实现很优美但略微繁琐了些。 枚举 \(T\) 的形态,发现这个匹配不过是把每个 \(T\) 中当前点的儿子塞进一个 \(S\) 中当前点的儿子内。于是 \(f_{u, v}\) 表示 \(S\) 中 \(u\) 匹配 \(T\) 中 \(v\) 且 ......
nesting 762F Tree 762 CF

CodeForces 1887D Split

洛谷传送门 CF 传送门 \(a_l, a_{l + 1}, \ldots a_r\) 是好的当且仅当 \(\exists k \in [l, r - 1], \max\limits_{i = l}^k a_i < \min\limits_{i = k + 1}^r a_i\),称此时的 \(k\) ......
CodeForces 1887D Split 1887

CF375E Red and Black Tree

看错题看成只能交换相邻节点颜色了/fn 每次操作交换两个节点颜色,可以转化为统计最终合法颜色序列相比开始,最少有多少个红点变成黑点。 可以考虑一个类似树形 dp 的过程,对于每个节点我们钦定下它会被哪个节点“笼罩”,同时由于黑点数量有限,我们还需要记录下子树内已经用了多少个黑点。 设“笼罩”节点 \ ......
Black 375E Tree 375 Red

PAT_A1104 Sum of Number Segments

Given a sequence of positive numbers, a segment is defined to be a consecutive subsequence. For example, given the sequence { 0.1, 0.2, 0.3, 0.4 }, we ......
Segments Number PAT_A 1104 PAT