1830d tree mex cf
B-TREE B+TREE
以下是使用MySQL语句创建索引的示例: 创建B-Tree索引结构: CREATE INDEX idx_name ON table_name(column_name); 其中,idx_name是索引名称,table_name是表名,column_name是需要创建索引的列名。 创建B+Tree索引结 ......
第二十届浙大城市学院程序设计竞赛 I.Magic Tree DFS序线段树
传送门 大致思路: ** 我们知道dfs序上的整颗子树dfs序编号连续,因为每次删除一个点或者新增一个点都导致子树上所有点的深度加一或者减一。由于是区间修改所以我们考虑dfs序上建线段树。** ** ** #include <iostream> #include <cstring> #include ......
[LeetCode] 1339. Maximum Product of Splitted Binary Tree 分裂二叉树的最大乘积
Given the root of a binary tree, split the binary tree into two subtrees by removing one edge such that the product of the sums of the subtrees is max ......
cf-div.3-863d
题目链接:https://codeforces.com/contest/1811/problem/D 思维题,昨天被E题搞太久了,这题认真想的话应该可以出的。 思路:不断循环,判断x和y是否在合法区间内。 代码: #include <bits/stdc++.h> using namespace st ......
CF1200E Compress Words 字符串哈希/双重哈希
题目地址 题意:给你若干个字符串,答案串初始为空。第i 步将第 i 个字符串加到答案串的后面,但是尽量地去掉重复部分(即去掉一个最长的、是原答案串的后缀、也是第 i 个串的前缀的字符串),求最后得到的字符串。 Solution 字符串哈希练习题,做完之后对哈希的理解更深刻了 因为求原字符串的后缀和第 ......
CF 1807
https://codeforces.com/contest/1807/problem/G1 easy -version 同《货币系统》 背包 f[ j ] 每个数字合成的次数 #include <iostream> #include <cstring> using namespace std ; ......
Hot Start Up (easy version) CF1799
你有两个 CPU,n个程序(m个类型)要运行。 在不同条件下程序运行的时间不同,但连续运行的时间满足小于等于在不连续状态下运行的时间。 #include <iostream> #include <cstring> #include <queue> using namespace std; const ......
Magic Tree (在线->离线, 线段树/树状数组维护) 第二十届浙大城市学院程序设计竞赛
题目大意: 给出一个树,然后m询问,3种操作 1 在节点u, 和fa[u] 在他们增加一个节点 2 删除一个节点, 把儿子接到父亲上 3 查询某个节点的深度 思路: 直接在线去处理增加和删除是很不好操作的 于是考虑离线把这个树建出来 然后每次修改只会的对儿子树造成影响, 这里可以用线段树,或者树状数 ......
CF1808C 题解
可以考虑从小到大枚举差值$i$,再枚举最小数字$j$,这样当前的最大数字就是$i+j$,然后进行搜索,看在满足当前状态下是否能找到一个合法的数字,实际上就是在进行数位DP。 搜索中一些变量的解释:pos表示当前位,mx最大数字,mi最小数字,p前面枚举的数字是否在下界,q上界,now已经枚举的数字, ......
cf-div.2-862d
题目链接:https://codeforces.com/contest/1805/problem/D 赛时没过的题。 思路:首先发现一个性质:对于k来说,如果树上的一个点到树的直径的两个端点的距离都小于k的话,那么这个点一定是一个孤立点。 证明:采用反证法:假设$x,y$为树的直径的两个端点,$a, ......
cmake tree
https://stackoverflow.com/questions/31966135/cmake-source-group-not-working-correctly-with-hierarchical-project-setup https://stackoverflow.com/questi ......
New Year Tree
New Year Tree 线段树,打标记,位运算 操作1,区间赋值,很容易的线段树操作 对于询问以$u$为根的子树上的所有节点的颜色数量,一开始我在线段树里开了一个大小61的数组,喜提MLE,但后续观察发现,$1 << 60 \leq \text{longlong}$,所以我们设每种颜色$ c_i ......
练习记录-cf-div2-682(A-D)
终于场上写出4道,听说E是树链剖分,学的不够深,学完再补 感动感动 A. We Need the Zero 题意:求一个数 所有数异或上这个数 使得所有数是异或和为0 分奇偶考虑,奇数个的情况下,异或这么多次,相当于只异或了1次x,那么先求出原数组的异或和,再异或一遍就是0了,x就是原数组的异或和、 ......
Codeforces Round 862 (Div. 2)(CF1805) A-C题题解
CF1805A #include <bits/stdc++.h> #define debug(x) cout << "The variable \"" << #x << "\" of the \"" << __FUNCTION__ << "\" function in line " << __LIN ......
[I]CF With AT
Educational Codeforces Round 127 (Rated for Div. 2) A 显然,长度 $2$ 和 $3$ 能拼出任意长度字符串,所以无解情况考虑有没有单独的长度为 $1$ 的即可。 /* by L1rs1ngzN1sLyr */ #include<bits/stdc ......
CF594A Warrior and Archer 题解
由于本人在思索了很久后才把本题思路打通,所以为了帮助像我一样没有非常理解解法的人,我打算再将解法非常详细地叙述一遍,如果您无法理解解法,请跟着我再一步步将题目捋顺。 Step.1 解题意 题目要求其实很好理解,共给出 $n$ 个点的位置,A,B两个人轮流取点,A要求最后剩下的两个点尽量近,B要求最后 ......
CF1271B.砖块(贪心递推实现)
大致思路 按照题意,每次只能操作相邻的两个砖块,有n-1种操作。将相邻的两个砖块翻转两次等同于没有翻转。所以只要保证遍历一次后最后一个砖块为目标砖块,即可以在3n次操作内完成目标。 ==例如:第i个砖块为'W',而目标砖块c为'B'。于是将i和i+1位置的砖块颜色分别反转。== 代码实现 #incl ......
CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)(CF1810)A~D题题解
今天采用的是新格式。 CF1810A Beautiful Sequence 点击查看原题 点击查看思路 如果一个数字的值 $v$,不大于当前的位置 $p$,那我们可以通过删除 $p - v$ 个数字,使它们两个对应上。 比如 $[1, 7, 2, 5, 3]$ 中的 $3$,其数值为 $3$,位置为 ......
The following untracked working tree files would be overwritten by merge错误的解决
问题描述 只要云端代码更新,我的本地那里没有跟上云端的更新速度,就会出现这个错误: 问题解决 在Git终端里面,输入git clean -d -f "出现错误的那个文件路径(就是错误显示的那一串)" 然后Enter,会显示Removing了那个文件,然后再输入git pull,显示这个: 然后就等待 ......
cf-div.2-860d
题目链接:https://codeforces.com/contest/1798/problem/D 贪心,比赛时一直搞C没搞出来,回头看D反而更简单。 贪心策略:能填正数就填,填不了填负数。 大致证明:构造的区间一定呈一个这样的特定区间,正...负正负负...负正....负负,证明一段区间为正且小 ......
CF1187E
换根dp #include<iostream> #include<algorithm> #include<cstring> #include<queue> #define IOS std::ios::sync_with_stdio(0) using namespace std; #define in ......
CF453B
Solution 观察范围 $a_i\le 30$ 比较特殊,于是我们可以试着考虑 $b$ 的范围。 直觉告诉我们 $b$ 不会很大,当 $b_i\le 59$ 时,有 $|a_i-b_i|\le 29$。当 $b_i > 59$ 时,$|a_i-b_i|> 29$,但是如果这时我们将 $b_i$ ......
P5074 Eat the Trees
P5074 Eat the Trees 套着板子写,写了份四进制和二进制的 四进制中与板子不同的是其实插头不需要区分左右了,之前左右匹配的情况可以消去插头继续转移 注意特判全为0情况 四进制代码: 点击查看代码 #include<bits/stdc++.h> #include<unordered_m ......
简单理解 Matrix-Tree 定理
首先,我们要知道,一个矩阵的行列式可以使用高斯消元来求。 定义无向图的 Laplace 矩阵:$L_{i,j}=D_{i,j}-G_{i,j}$,其中 $D$ 是度数矩阵,满足 $i=j$ 时 $D_{i,i}=deg_i$,其余时刻 $D_{i,i}=0$;$G$ 是邻接矩阵,$G_{i,j}$ ......
cf-div2-860c
题目链接:https://codeforces.com/contest/1798/problem/C 大致题意:给你一个长度为$n(n<=2e5)$的序列的$a_i,b_i$,让你把这个序列分成数目最少的段,每一段都有一个值$c$,$c=a_i的一个约数乘以b_i$。 比赛没写出的题。 思路:$首先 ......
CF629C题解
CF629C 这里更容易进入且有翻译 题意 给定长度为 $m$ 的仅含 ( 和 ) 的字符串,为其左右补上两个字符串使其达到指定长度 $n$ 且合法, 需补足字符串合计长度 $n - m$ 满足 $n - m \le 2000$。 解析 字符串合法条件为: 左右括号总数相等; 从左数起在任意位置上左 ......
Bottles CF730J
有 n 瓶水,第 ii 瓶水的水量为 ai,容量为 bi。 将 1 单位水从一个瓶子转移到另一个瓶子所消耗时间为 1秒,且可以进行无限次转移。 求储存所有水所需最小瓶子数 k 以及该情况下所用最小时间 t。 第一问直接贪心 第二问 dp f[i ][j ][k] k为已经选的装水的瓶子数,J为水的 ......
cf-div.2-861
题目链接:https://codeforces.com/contest/1808/problem/C 又是被打爆的一场比赛。。。(本题想了一个多小时也没有想到最核心的地方。) 大致题意:让你从$[l,r]$选择一个数字,使得它其中的数位的最大值减最小值最小。 $l,r$的范围都取到long long ......
题解 CF1787F【Inverse Transformation】
理解很困难,但是代码真的很简单。祝贺我过了我做的第一个有关置换的题目。 problem ~~已经不是能简化的东西了~~ 一位科学家正在研究一个自我生长的长度为 $n$ 的排列 $a_1,a_2,\ldots,a_n$。 排列每天都会变化,每一天,元素 $x$ 都会变成 $a_x$,即 $a_x$ 会 ......
CS61A Fall 2020 Lab 5 Data Abstraction, Trees 我的思路
Description: https://inst.eecs.berkeley.edu/~cs61a/fa20/lab/lab05/ Optional Questions Tree - Q10: Add Trees (不会做,是老师的讲解) Define the function add_trees ......