1830d tree mex cf

CF1870D Prefix Purchase 题解

Problem - 1870D - Codeforces Prefix Purchase - 洛谷 先说一个我想的错误的贪心:先用单调栈把原序列构造成单增序列,选出 \(\lfloor \frac{K}{c_i} \rfloor = \lfloor \frac{K}{c_1} \rfloor\) 的 ......
题解 Purchase Prefix 1870D 1870

k-D Tree小记

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

CF1872E Data Structures Fan 题解

CF1872E 翻译 请把数据加强到 \(\sum n \leq 10^8\) 后重新思考。 我们维护全局中被标记的所有点的异或和。发现对于一次 \(1\) 操作,相当于让答案异或上区间的 \(a_i\) 异或和,因为这会让被标记的点变成没被标记的,而没被标记的点会产生贡献。 查询的话直接查询即可 ......
题解 Structures 1872E 1872 Data

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

CF1707 题解

CF1707 题解 A 考场上 1h 才出思路...弱智了。 我们将参加大于当前智商的行为叫做 “摆烂”。我们考虑如果现在摆一次,将来某一次不摆,那么现在不摆,将来那次开摆,中间过程的智商会加1。更优。所以一定一摆就摆到底。而且一定会摆到最后一个。 所以我们二分从什么时候开摆,看是否能摆到最后,中间 ......
题解 1707 CF

CF1879C Make it Alternating

传送门 设\(f_{i,0}\)表示将\([1,i]\)位变成以\(0\)结尾的字符串的最小步数。 \(f_{i,1}\)表示将\([1,i]\)位变成以\(1\)结尾的字符串的最小步数。 \(f_{i,2}\)表示将\([1,i]\)位变成空字符串的最小步数。 转移的时候分类讨论一下第\(i\)位 ......
Alternating 1879C 1879 Make CF

CF

CF1612 CF1029 CF1672 CF1875 ......
CF

CF1884B Haunted House 题解

CF1884B Haunted House 题解 借鉴了当前 另一篇题解,加了更多的说明。 简化题意 给定一个长度为 \(n\) 的二进制串 \(S\),求 \(f(1),f(2),\cdots,f(n)\)。 其中,\(f(i)\) 定义为,每次交换相邻的两个二进制位,将 \(S\) 的后 \(i ......
题解 Haunted 1884B House 1884

CF1889B

题面 给一个 \(n\) 个点的图,每个点 \(i\) 有点权 \(a_i\),初始图上没有边,你可以进行如下操作若干次: 若 \(S_i+S_j\ge i\times j\times c\),添加一条边 \((i, j)\)。其中 \(S_i\) 表示 \(i\) 所在连通块的点权和,\(c\) ......
1889B 1889 CF

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

[CF551E] GukiZ and GukiZiana

CF551E 卧槽,lzh最爱的分块!卧槽,lzh最爱的分块!卧槽,lzh最爱的分块!卧槽,lzh最爱的分块! 维护懒标,散块重构。 unordered_map<long long,int> 会 TLE unordered_map<long long,bool> 会 AC #include<cstd ......
GukiZiana GukiZ 551E 551 and

[CF566E] Restoring Map

Restoring Map 星空蚁来了秒了。 人与人的智力是有差距的。 刷再多的CF智力不行就是不行。 OI这种需要智力的游戏不适合我。 我还是更适合对智力要求低一点的。 比如和妹子贴贴。 但是也没有妹子。 life is hard. 这类树的构造似乎可以从边缘情况想起,比如 CF1844G 但是这 ......
Restoring 566E 566 Map CF

[CF566E]Restoring Map

题目描述 Archaeologists found some information about an ancient land of Treeland. We know for sure that the Treeland consisted of $ n $ cities connected b ......
Restoring 566E 566 Map CF

[CF403E]Two Rooted Trees

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

CF1889D

题意 给定\(n\)个栈,栈的大小分别为\(k_i\),每个栈内元素\(\in[1,n]\),记从第\(i\)个栈开始的答案为\(ans_i\),流程:若栈\(i\)为空,答案为\(i\);否则弹出栈顶元素\(x\),并前往栈\(x\),继续刚才的操作。 \(n\le 10^5,\sum k_i\l ......
1889D 1889 CF

CF1842H

传送门 description 见洛谷翻译 solution 考虑分析一下不等式 \(x_i+x_j\leq 1\)。 如果 \(x_i,x_j\leq 0.5\),一定成立; 如果 \(x_i,x_j>0.5\),一定不成立; 如果 \(x_i,x_j\) 中一个 \(>0.5\),一个 \(\l ......
1842H 1842 CF

CF1800-1900

CF1490G Old Floppy Drive 首先判断是否可以在第一圈就符合题意,记录前缀和 \(sum\) 和 \(mx\) 数组,其中 \(mx_{i}\) 为 \(sum\) 从起点到 i 的最大值,即 \(mx_{i}=\max(mx_{i-1},sum_{i})\)。 显然如果在第一圈 ......
1800 1900 CF

cf353D. Queue(整体考虑转移)

D. Queue f[i]表示第i个F需要多少时间才能让所有的M都移到她后面,那么我们考虑转移,分为两种情况。 第i个F和第i-1个F挨着,那么显然f[i]=f[i-1]+1 假如中间隔着一些M, 可以分为两种情况,假如i可以在i-1完成之前追上它,那么就是f[i-1]+1,否则就说明 i一直在进行 ......
整体 Queue 353 cf

cf41D. Pawn(将余数设计到dp状态中)

D. Pawn 感觉这种dp套路似乎非常常见,我们可以设 f[i][j][x]表示走到(i,j),当前的值为f[i][j][x]*k+x ,也就是我们将余数x作为放在状态中。 #include<cstdio> #include<algorithm> #include<cstring> #includ ......
余数 状态 Pawn cf 41

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

CF1854C

传送门 description 给定正整数 \(n,m\) 和集合 \(S\),满足 \(S\) 中元素互不相同且都是小于等于 \(m\) 的正整数。每次进行如下操作 从集合 \(S\) 中随机选取一个数记作 \(x\) 从 \(S\) 中删去 \(x\) 如果 \(x+1\leq m\) 且 \( ......
1854C 1854 CF

CF1889D. Game of Stacks

啊啊啊每次补完题都感觉这题我场上应该是能想出来的啊! 考虑简化问题:若每个栈内只有一个元素,how。 此时我们发现所有栈之间构成了一个内向基环树。且环是没有用的,因为我们在环上走一圈之后仍然会回到原点。所以不妨把所有环边删除,此时每棵树的答案即为树根。 而对于原问题,同理,我们可以考虑不断找环,每找 ......
Stacks 1889 Game CF of

CF1889C2. Doremy's Drying Plan (Hard Version)

容易想到 dp:设 \(dp_{i,p}\) 表示前 \(i\) 天,强制第 \(i\) 天 dry,并且一共消除了 \(p\) 个区间的答案。 转移时可以考虑枚举前面的决策 \(j\),此时有转移方程: \[dp_{i,p}=\max(dp_{j,p-w})+1 \]其中 \(w\) 为满足 \( ......
Version Doremy Drying 1889 Plan

CF1889A. Qingshan Loves Strings 2

不妨考虑什么时候会无解! 显然当原序列 \(0,1\) 数量不同,或者序列总长为奇数时会无解! 否则我们设 \(l=1,r=n\)!开始回文配对! 如果配上了就直接删掉!并把左右端点向内移动! 如果两者都是 \(0\),就在末尾加上 \(01\)!都是 \(1\) 就加最前面! 以在末尾加入举例!此 ......
Qingshan Strings Loves 1889 CF

CF1889B. Doremy's Connecting Plan

一开始不会先跳 C 了!差点满盘皆输! 设 \(i<j\),则 \(i,j\) 合并可以看作 \(a_i\leftarrow a_i+a_j\) 后删掉 \(j\)!此时和初始局面本质相同!所以不妨先只看初始局面! 不等式右侧和下标有关!显然若右侧 \(i,j\) 中只要有一个是 \(1\),就会让 ......
Connecting Doremy 1889 Plan CF

『做题记录』[CF1601F]Two Sorts

[CF1601F]Two Sorts link:https://codeforces.com/problemset/problem/1601/F Description 有一个数列 \(\{a_1, a_2, \ldots, a_n\}\) 是一个 \(1 \sim n\) 的排列,且所有的数都按照 ......
1601F Sorts 1601 Two CF

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

CF1592F Alice and Recoloring

CF1592F1 Alice and Recoloring 1 CF1592F2 Alice and Recoloring 2 Part1 很容易发现,其实二和三操作是没有用的. 对于二操作,可以用一操作进行类似于求二维前缀和的方式实现,需要进行一操作至多 \(2\) 次,花费为 \(1+1=2\) ......
Recoloring 1592F Alice 1592 and