1830d tree mex cf
Merkle Tree 简介
Merkle 树(Merkle Tree)是一种树状数据结构,通常用于验证大规模数据集的完整性和一致性。它的名字来源于其发明者 Ralph Merkle。Merkle 树在密码学、分布式系统和区块链等领域得到广泛应用,尤其在区块链中,它用于验证交易和区块的完整性,确保数据不被篡改。 下面是 Merk ......
CF1861E Non-Intersecting Subpermutations
原题 翻译 一道很显然是 \(dp\) 的题 我们设 \(f_{i,j}\) 表示钦定了前 \(i\) 个数,其中 \([i-j+1,i]\) 这些数中没有重复(就是说有成为 \(1\sim K\) 的排列的可能性)时的成本之和 我们可以用刷表法来表示这个 \(dp\) 的转移方法: \[\begi ......
CF1878D Reverse Madness
观察式子发现结论。 有这样一个结论,由 \(x\) 得到的反转区间 \([a,b]\) 的对称轴就是 \(x\) 所在的题给区间 \([l,r]\) 的对称轴,且 \([a,b]\subset [l,r]\)。 这个结论有什么用?如果没有这个结论,我们离线 \(q\) 次询问得到的是一系列散乱的反转 ......
单次查询log,预处理线性求路径mex的方法
首先要一种能在 \(\log n\) 时间复杂度求路径 \(mex\) 的方法。 我们先把所有点的编号加一,从 \(1\) 开始。我们再记 \(l_u\) 表示 \(u\) 属于 \(1\) 的哪个儿子的子树中。(特别的 \(l_1=1\)) 然后我们考虑一条路径 \(u,v\) ,如果 \(lca ......
CF1791G2 Teleporters (Hard Version) 题解
CF1791G2 Teleporters (Hard Version) 题解 题目大意 题意挺清楚的,给个传送门吧。 分析 比较简单的贪心题,很容易就能看出来是贪心,也很容易就能看出来贪什么。 我没做简单版(Teleporters (Easy Version)),但是我去看了一眼。那个也非常简单,不 ......
CF1777E
problem & blog 反转的边最大权值最小,想到二分。 于是二分代价即可。 反转代价小于二分的代价的边可以反转,所以再建一条反向边即可。 在 DAG 中,存在一个点可以到达所有的点的条件是入度为 \(0\) 的点有且只有一个。 所以二分判断的时候将可以反转的边转化为无向边,然后缩点,形成 D ......
CF1882 div.2 做题记录
A 题面 扫一遍,令 \(b_i\rightarrow b_{i-1}+1\),若 \(b_i=a_i\),\(b_i\rightarrow b_i+1\)。 点击查看代码 #include<bits/stdc++.h> #define ull unsigned long long #define ......
CF1882C Card Game
某种程度上的抽卡游戏? 有这样一个结论:一个后缀中\([i+1,n]\) 中所有的正数都可以被取到,所以维护一个正数后缀和 \(s_i\),枚举每个位置 \(i\),如果 \(i\) 为奇数,答案对 \(a_i+s_{i+1}\) 取 \(\max\),否则对 \(s_{i+1}\) 取 \(\ma ......
CF1879D Sum of XOR Functions
异或和按位处理的典型例题。 要求所有子区间异或和乘区间长度的总和,朴素的方法是 \(O(n^2)\) 地枚举区间,显然无法通过。 因为涉及异或和,而异或运算不进位,故自然地想到把 \(a_i\) 写成二进制形式,单独研究每一位的贡献,最后再合并。这是处理此类问题的一般思路。 1. 二进制拆分 比方说 ......
Educational Codeforces Round 155 D (CF1879_D)
题目大意 给一个长度为 \(n\) 的数组,求 \(\Sigma_{i=1}^{n} \Sigma_{j=i}^{n} 区间异或和 \times (j-i+1)\) 其中 \(n\leq 3e5,~a[i]\leq 1e9\) 分析 首先注意到由 \(l\) 到 \(r\) 的区间异或和可以转化为 ......
CF1106D Lunar New Year and a Wander 题解
CF1106D 题解 暑期学校军训第一天模拟赛的题,相对而言比较简单 题意: 题意其实很简单,就是有一个无向图,需要你从\(1\)号节点出发,然后一次遍历所有的点,输出其中字典序最小的遍历 思路 说说思路吧,这题既然要遍历图上所有点,那首先就会想到 \(\texttt{BFS}\) 或 \(\tex ......
abc321E - Complete Binary Tree
E - Complete Binary Tree 首先我们只考虑x子树中的答案,非常明显,一定是一个连续的区间,那么我们只需要找到两个端点即可,左端点一直往左走即可,但是右端点要注意,如果走不了,如果左端点存在,说明n就是我们的右端点。 处理完子树之后往上跳即可,因为树高只有60 #include< ......
CF1863 题解
CF1863 题解 A 条件很简单:如果总共的 '+' 号加上开始上线人数不到 \(n\) 人,就不可能。实时记录人数,如果某一时刻大于等于 \(n\) 人在线上,就一定是。剩余情况则可能。 #include<bits/stdc++.h> using namespace std; int main( ......
CF1869D1 Candy Party (Easy Version)
Link 首先我们想这样的问题,为什么强调是\(2^x\) 呢?我们记平均值是 \(avg\),然后可以注意到,应该有一下式子被满足 \(a_i-2^{x_i}+2^{y_i}=avg\),移项,可以得到\(a_i-avg=2^{y_i}-2^{x_i}\),而这个式子中\(x_i\)和\(y_i\ ......
使用Vue3+elementPlus的Tree组件实现一个拖拽文件夹管理
目录1、前言2、分析3、 实现4、踩坑4.1、拖拽辅助线的坑4.2、数据的坑4.3、限制拖拽4.4、样式调整 1、前言 最近在做一个文件夹管理的功能,要实现一个树状的文件夹面板。里面包含两种元素,文件夹以及文件。交互要求如下: 创建、删除,重命名文件夹和文件 可以拖拽,拖拽文件到文件夹中,或着拖拽文 ......
cf1879 edu 做题记录
A 题面 判断有没有两维均大于等于第一个人的人即可。有就无解,否则答案为 \(s_1\)。 点击查看代码 #include<bits/stdc++.h> #define ull unsigned long long #define ll long long #define pii pair<int, ......
CF1868C Travel Plan
注意到树的深度很小,所以路径长度也很小,可以先 DP 出每种路径长度的数量。 令 \(f_{i,j,0/1}\) 表示深度为 \(i\) 的满二叉树,长度为 \(j\) 的路径,一个端点不一定/一定在根结点的数量。跨越左右子树的转移就暴力枚举两侧深度。当然这里可以直接算。 但原树只是完全二叉树。观察 ......
开学补题(cf版)(第四周)
Problem - G - Codeforces 题意:给你一个字符串,里面只包含A或者B两个字符 然后给你两种操作,一种是把AB变成BC,另外一种是把BA变成CB 然后问你给定的字符串最多可以变多少次 题解:我们可以发现无论你怎么搞,都要消耗一个a,所以看看B的附近有多少个A就有几次 但是假如B不 ......
CF_EduRound155小丑寄
一句话总结:A题理解错了,数据又水,所以寄了。 过程: 22:35 开题。 22:40 怎么还没加载出来??急急急 22:42 哦,严格大于,但是主宾对调了,乐乐乐乐乐乐乐,cout << ans;\(\rightarrow\)cout << ans - 1; 22:45 一 发 过 。 。 。 2 ......
[CF1810G] The Maximum Prefix
题目描述 You're going to generate an array $ a $ with a length of at most $ n $ , where each $ a_{i} $ equals either $ 1 $ or $ -1 $ . You generate this a ......
[CF704D] Captain America
题目描述 Steve Rogers is fascinated with new vibranium shields S.H.I.E.L.D gave him. They're all uncolored. There are $ n $ shields in total, the $ i $ -t ......
CF249E Endless Matrix 题解
@目录Description前置芝士SolutionCode Description 构造一类矩形: 先构造矩形 \(M_1=\begin{bmatrix}1\end{bmatrix}\)。 对于 \(i\geq1\),\(T_{i+1}\) 从 \(T_i\) 构造而来,方法为在最右侧和最下侧插入 ......
module开发过程tree_ shaking
module 开发过程 tree_ shaking module 开发可以实现 tree-shaking 注意事项 ❓:什么情况下就会 tree-shaking? 💡:当我们导出模块时候使用 /* 当我们使用这种方式的时候可以进行tree-shaking */ export function na ......
CF1801D The way home
原题 翻译 非常好的一个题,有两种做法 方法1:flody+dp 首先我们确定一个最优行走方案:从 \(1\) 号节点赚到足够钱后通过最短路到达 \(x_1\) ,在 \(x_1\) 赚够足够钱后到达 \(x_2\) ,在 \(x_2\) 赚够足够钱后到达 \(x_3\) ,如此往复后到达终点 现在 ......
CF1106D Lunar New Year and a Wander 题解
CF1106D 题解 暑期学校军训第一天模拟赛的题,相对而言比较简单 题意: 题意其实很简单,就是有一个无向图,需要你从\(1\)号节点出发,然后一次遍历所有的点,输出其中字典序最小的遍历 思路 说说思路吧,这题既然要遍历图上所有点,那首先就会想到 \(\texttt{BFS}\) 或 \(\tex ......
CF1710D Recover the Tree
题目链接 一个比较显然的思路就是:我们按照右端点从小到大的顺序(右端点相同按左端点从大到小)去考虑每个好的区间。 由于是连通性问题,不难想到用并查集去实时维护连通性。 根据定义,一个好的区间必定对应了一个连通块;我们考虑的是好的区间,所以当前并查集中的每个连通块必定都是一个区间。而在加入某个点前,这 ......
[abc321E]Complete Binary Tree
2023-09-23 题目 题目传送门 翻译 翻译 难度&重要性(1~10):6 题目来源 AtCoder 题目算法 模拟 解题思路 考场没调出来,考完赶紧写发题解祭奠一下。 这道题主要就是模拟,细节比较多。 思路就是一层一层的计算贡献: 如图,我们首先计算出以结点 \(x\) 为根的子树第 \(k ......
CF1862G The Great Equalizer
题目链接 先不考虑修改操作。 直接模拟题目意思,可以发现最后留下的一定是最小的数字(因为相同的数每次会保留第一个)。我当时是顺着这个思路做的题目,现在想想反过来想好像会让问题变得更简单,即认为每次保留最后一个相同的数字。 那么现在每次留下的就是最后一个数字,显然每次操作会让这个数字加一,只需要考虑一 ......
CF1857G Counting Graphs
题目链接 考虑每条非树边的取值,显然不能小于等于该边与树边形成的环中的最大值(当然这条非树边也可以不存在),所以每条非树边的取值范围就是 \(S - max(w) + 1\) (\(+1\)的原因是该边可能不存在)。 暴力枚举肯定会超时,考虑优化。 发现 \(kruskal\) 算法获得最小生成树的 ......
E - Complete Binary Tree
E - Complete Binary Tree 完全二叉树 三个值N,X,K,分别表示点的个数,点的编号,求到X点的距离为K点的个数。 首先,我们对以X为根的子树进行分析,可以知道到X点距离为K的点的个数为2^k。这里需要特判,深度为K时最左边的编号不能大于N,点的个数就等于min(r,n)-l+ ......