codeforces 280c game tree

奇偶game

证明一下边带权做法的充分性 我们考虑异或和 对一个01序列,我们做一个异或前缀和,设为\(sum_n\),那么\(a_i=sum_i\enspace xor\enspace sum_{i-1}\) 对任何时刻的没有产生矛盾的并查集森林,我们随便给每个森林的根节点赋值一个0或1,那么其他所有节点的值也 ......
奇偶 game

CodeForces 575F Bulbo

洛谷传送门 CF 传送门 提供一个傻逼 \(O(n^2)\) 做法。 首先考虑暴力 dp,设第 \(i\) 轮后在 \(j\) 坐标上的最小花费为 \(f_{i, j}\),有: \[f_{i, j} = \min f_{i, k} + |j - k| + \begin{cases} l_i - j ......
CodeForces Bulbo 575F 575

Codeforces Round 914 (Div. 2)

Codeforces Round 914 (Div. 2) A. Forked! #include <bits/stdc++.h> #define endl '\n' #define int long long using namespace std; void solve(){ int a,b; ......
Codeforces Round 914 Div

[Codeforces] CF1793C Dora and Search

CF1793C Dora and Search 题意 给定一个长度为 \(n\) 的排列 \(a\) ,问是否存在正整数 \(l,r\) 使得 \(a_l,a_r\) 均不为 \(a_{l...r}\) 中的最大值或最小值。 思路 很明显的双指针,虽然我最开始的思路是二分 预处理当前序列的最大值和最 ......
Codeforces Search 1793C 1793 Dora

[Codeforces] CF1790D Matryoshkas

CF1790D Matryoshkas 题意 ZYH 的玩具有很多种类,每种玩具都是一段连续的区间(如 \([3,4,5]\) ) ZYH 有很多种玩具,但是他不慎把所有玩具的元素乱序混合到了一起。例如玩具 \([1,2,3,4]\) 和玩具 \([2,3]\) 混合到一起后可能是 \([2,2,3 ......
Matryoshkas Codeforces 1790D 1790 CF

Codeforces Round 803 (Div. 2)

基本情况 A题秒了。 B题经典+2。(经典不开longlong) C题读错题,没得思路。 B. Rising Sand Problem - B - Codeforces 思路好想,分类讨论找规律就行。 这里还是要强调一下认真分析数据: Input The second line of each te ......
Codeforces Round 803 Div

CF1904E Tree Queries

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

Codeforces Round 802 (Div. 2)

基本情况 A题秒了。 B题经典+4。 C题没想法(大概想了半小时)。 B. Palindromic Numbers Problem - B - Codeforces 起步 首先很明显是高精。 然后要求加上的数字位数和给的位数相同。 答案不限制,只要回文就行。 第一思路就是口胡几个万能的回文答案。 给 ......
Codeforces Round 802 Div

AT_cf17_final_j Tree MST 题解

题意:给定一颗 \(n\) 个点的树,点 \(i\) 有权值 \(a_{i}\),边有边权。现在有另外一个完全图,两点之间的边权为树上两点之间的距离加上树上两点的点权,求这张完全图的最小生成树。 首先有一个很显然的暴力,把完全图中每两点之间的边权算出来,然后跑一边最小生成树,时间复杂度 \(O(n^ ......
题解 final_j AT_cf final Tree

Codeforces Round 914 (Div. 2)

基本情况 脑子最卡的一集。 A题读假题,卡了快一小时。 B题代码太复杂,出错不好修改,一直调。 虽然最后都出来了,但是没有剩下任何时间看后面题目了。 A. Forked! Problem - A - Codeforces 一开始不知道犯得什么病,觉得可以斜着走一格算作一步,然后情况就太多了,非常不好 ......
Codeforces Round 914 Div

Codeforces Round 914 (Div. 2)

C. Array Game 题意:给定一个n的数组以及k的操作数,每次可以选择下表为i,j(i<j)得到一个abs(a[i]-a[j])的数放在数组末尾,问你k次操作后,数组中最小的数是多少? 思路:首先k>=3 选相同的下表两次,一定结果是0,是最小。 k==1 遍历出下表两两相减的绝对值最小以及 ......
Codeforces Round 914 Div

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

Codeforces Round 904 (Div. 2)

[Codeforces Round 904 (Div. 2)](https://codeforces.com/contest/1894) A. Simple Design 暴力就行了 1e9跑不满的 #include <bits/stdc++.h> #define int long long #de ......
Codeforces Round 904 Div

Codeforces Round 801 (Div. 2)

基本情况 A就开始犯病,导致+2. B、C 都过样例了,但是都错。 B. Circle Game 赛时推出来奇数必输,也知道偶数不是必赢,但是思路不清楚。 这里我没意识到一个很关键的性质。 奇数堆拿的石堆会变,这也导致了必输,比如三个堆 \(1,2,3\)。表粗的为JOE。 1 2 3 1 2 3 ......
Codeforces Round 801 Div

[Codeforces] CF1763B Incinerate

CF1763B Incinerate 题意 为了消灭人类,怪物协会向地球表面派出了 \(n\) 只怪兽。第 \(i\) 只怪物有一个生命值 \(h_i\) 和一个攻击力 \(p_i\) . 凭借他最后的一击,真螺旋焚烧炮,Genos 可以对所有活着的怪物造成 \(k\) 点伤害。换句话说,Genos ......
Codeforces Incinerate 1763B 1763 CF

Codeforces Round 909 (Div. 3)

https://codeforces.com/contest/1899 一个小游戏 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n; int ma ......
Codeforces Round 909 Div

[Codeforces] CF1704C Virus

CF1704C Virus 题意 有一个长度为\(n\)的环,即对于\(1\leq i\leq n\),满足第\(i\)个与第\(i+1\)个房子相邻,特别地,第 \(n\) 个房子与第 \(1\) 个房子也相邻。 一开始,这 \(n\) 个房子中有 \(m\) 个房子被病毒感染了。在之后的每天早上 ......
Codeforces 1704C Virus 1704 CF

[Codeforces] CF1703E Mirror Grid

CF1703E Mirror Grid 题意 给定一个 \(n\times n\ (n\le100)\) 的 01 矩形,求至少修改多少次后能使矩形旋转 0°,90°,180°,270°后所形成的矩形都完全相同。 思路 吸纳分为两种情况讨论: \(n\)为奇数 那么会出现这种情况:(以\(5\tim ......
Codeforces Mirror 1703E 1703 Grid

Codeforces Round 811 (Div. 3)

基本情况 ABC秒了。 DE都给了我希望,但都做不下去。 两道题反复横跳,结果最后谁也没做出来。 E还是比D亲切的,先补E吧。 E. Add Modulo 10 做的时候想着说对每个个位数的变化找找规律,但是没有进一步的发现。 实际上就应该从这里下手。 首先共识:相同的两个数经过操作后必然相同。 分 ......
Codeforces Round 811 Div

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

Codeforces Round 913 (Div. 3)

A. Rook 打印出象棋车的下一步 using namespace std; void solve(){ string s; cin>>s; char a=s[0]; char b=s[1]; set<string>ans; for(char i='1';i<='8';i++){ string t ......
Codeforces Round 913 Div

[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

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

Codeforces Edu 154 (A-E)

Codeforces Edu154 (Rated for Div2) (A-E) A.Prime Deletion 可以发现只要存在一个两位数(两位不相同),其正着看和反着看都是质数,则原问题有解。这时我们可以把除了这两位上的数之外的其他数从 \(s\) 中剔除,就有答案。上述两位数不少,如:13, ......
Codeforces 154 A-E Edu

Codeforces Pinely Round 2 (D~G)

D - Two-Colored Dominoes by yzt E - Speedrun 题意 给定 \(n,m,k\) 。你需要考虑一个序列 \(t\)。 \(n\) 个要求:\(t_i \equiv h_i\mod k\)。 \(m\) 个要求:\(t_{u_i} \le t_{v_i}\)。 ......
Codeforces Pinely Round

Codeforces Round 894 G

玩一下样例就能知道 这个是和 每个seg的最大间隔相关 为了好写我们可以直接写成元素间隔 这样我们用两个multiset维护元素间隔以及元素即可 注意删除的时候我们只删一个值 需要删指针 还有考虑长度为1的情况 multiset<int>st,st1; void Erase(int x){ auto ......
Codeforces Round 894

F Trees and XOR Queries Again (树链剖分)

看了知乎一位大佬的文章,用st表优化了查询,在st表中维护线性基 让lognN^2的查询 少了个log加了很多优化的方法 但无济于事 但是这样跑了9000ms 依然没法过 优化了一下线性基的查询方式 从枚举位数变成了类似lowbit的__lg(返回最大的1的位置) 不知道具体怎么算的优化 现在时间大 ......
Queries Trees Again and XOR