codeforces segments 1858d trees

A Tour Through TREE_RCU's Data Structures (翻译)

原文:https://www.kernel.org/doc/html/latest/RCU/Design/Data-Structures/Data-Structures.html December 18, 2016 This article was contributed by Paul E. Mc ......
Structures TREE_RCU Through Tour TREE

CF868E Policeman and a Tree

感觉,好自然啊! 想法 dp,想办法分解这个博弈的过程。发现警察会从一片叶子到另一片叶子,在叶子抓住小偷时所有小偷可以全树乱走。因此 dp:\(f_{u, i}\) 表示警察位于 \(u\),全树剩余 \(i\) 个小偷时的答案。 因为两边都绝对理性,小偷在警察离开叶子后不会移动并位于多片叶子上。考 ......
Policeman 868E Tree 868 and

Codeforces Round#905 解题报告

按理来说最近开始了一天一套 div2 计划,第一天做了一套 Div1,第二天做了 hustfc,第三天因为要赶 latex 期末考试,所以什么也没做。 明天写一下 hustfc 比较牛的几题。 A 暴力怎么做,是不是加加加,然后判断。 B 本质上是让长度为 \(i\) 的后缀全是 \(0\) 那么找 ......
Codeforces 报告 Round 905

题解 QTREE7 - Query on a tree VII

题目描述 一棵树,每个点初始有个点权和颜色。 0 u :询问所有 \(u,v\) 路径上的最大点权,要满足 \(u,v\) 路径上所有点的颜色都相同。 1 u :反转 \(u\) 的颜色。 2 u w :把 \(u\) 的点权改成 \(w\) 。 \(color_i\in[0,1]\),\(w_i\ ......
题解 QTREE7 QTREE Query tree

Codeforces Round 904 (Div. 2)

A. 没想到是暴力,做的很晚 B. 手玩一下即可 C. Medium Design 给定一个长为 \(n\) 的数组 \(a\) ,和若干条线段 \([l_i,r_i]\) ,你可以选择这其中的任何若干条线段,并让 \(a_l\sim a_r\) 均 \(+1\).请你计算可以得到的 \(\max( ......
Codeforces Round 904 Div

「题解」Codeforces Round 905 (Div. 3)

before 终于有一篇题解是一次性更所有题的了。 A. Morning Problem A. Morning Sol&Code 根据题意模拟即可。 #include <bits/stdc++.h> typedef long long ll; int min(int a, int b) { retu ......
题解 Codeforces Round 905 Div

CF1572F Stations 题解-Segment Tree Beats

20231025 CF1572F Stations 题解-Segment Tree Beats 吉司机线段树好题!!!CF3400。 传送门 Statement 有 \(n\) 个广播站,第 \(i\) 个广播站高度为 \(h_i\),范围为 \(w_i\)。初始 \(h_i=0,w_i=i\)。广 ......
题解 Stations Segment 1572F Beats

CF1467E Distinctive Roots in a Tree

突然发现深究一些树上问题还是挺有意思的哈。 显然对于同一种权值的任意两个结点,其两端的部分都是不合法的。 维护两个标记表示子树内均不合法与子树外均不合法即可。但相同权值的点对数量是 \(O(n^2)\) 的,我们要优化这个过程。 发现很多点对都是无用的。DFS 下去,遇到一个 \(x\) 权值的结点 ......
Distinctive 1467E Roots 1467 Tree

Codeforces Round 905 div2 F题

记答案为\(ans_i\),表示从1到i次修改出现的字典序最小的数组a, \(c\)数组表示\(ans_i\)出现之后,所有修改的累加和。用一个vector存一下\(ans_i\)之后的所有修改。从1到q遍历每一次修改时,对\(c\)数组进行区间赋值操作,如果\(c\)数组中第一个不为0的数<0,那 ......
Codeforces Round div2 905 div

「解题报告」Codeforces Round 653 (Div. 3)

A. Required Remainder You are given three integers \(x, y\) and \(n\). Your task is to find the maximum integer \(k\) such that \(0 \le k \le n\) that ......
Codeforces 报告 Round 653 Div

Codeforces Round 905 (Div. 2)

Preface 周日晚上Div1,2,3同乐,但我不想打Div1,同时第三个号由于只打了两场没够到Div2的门槛,因此刚好打不了Div2,遂玩了一晚上LOL 今天补了下这场题感觉难度偏低,E之前的题都比较签,F刚开始没想到转化成差分最小准备去写扫描线+线段树了,后面发现其实可以写的很简单 A. Ch ......
Codeforces Round 905 Div

CodeForces 946F Fibonacci String Subsequences

洛谷传送门 CF 传送门 duel 的时候差点不会 2400 了。 套路地,考虑每个 \(F(x)\) 中与 \(s\) 相同的子序列的贡献。设这个子序列为 \(F(x)_{p_1}, F(x)_{p_2}, F(x)_{p_3}, \ldots, F(x)_{p_n}\)。 我们想要它成为一个子序 ......

Codeforces 1862G 题解

传送门 题解 因为有这个操作:将序列 \(a\) 加上 \(\{n, n - 1, \cdots, 1\}\),考虑差分。 那么显然每次操作会将差分数组中的每个元素减去 \(1\),如果差分数组中有 \(0\),就会把 \(0\) 删除。 所以可以发现差分数组中剩下的一定是操作前的最大值。 由于操作 ......
题解 Codeforces 1862G 1862

Educational Codeforces Round 127(CF1671 D~E) 题解

D. Insert a Progression 题目链接 可以瞪出来的一个结论就是当我们在位置 \(p\) 插入了一个数 \(x\) 时,如果存在一对 \(l,r\) 满足 \(l<p\),\(r>p\) 且 \(x\in[a_l,a_r]\),那么我们插入的这个 \(x\) 就不会对序列的答案产生 ......
题解 Educational Codeforces Round 1671

Codeforces Round 886 (Div. 4) 题解

link 我为什么还要 vp div4 场。。。 A 直接找最大的两个判断一下。 void solve() { int a[3]; cin >> a[0] >> a[1] >> a[2]; sort(a, a + 3); if(a[2] + a[1] >= 10) cout << "YES\n"; ......
题解 Codeforces Round 886 Div

Codeforces Round 905 (Div. 3)

Codeforces Round 905 (Div. 3) A. Morning 解题思路: 首先\(4\)个数字都要打印出来,所以\(ans\)起始值为\(4\)。 接着就是从左向右移动绝不回头,鼠标移动的距离和就是两两数字之差。 注意:这里\(0\)位置其实是\(10\). 代码: #inclu ......
Codeforces Round 905 Div

Codeforces Round#905 解题报告

由于是解题报告不是过题报告,所以理所当然的放弃了后三题代码的写。 感觉这场 Div1 D 是 cyh 的菜,E 是 gjk 的菜。我负责菜。 只写 Div1 题的题解。 A 双指针可以做 \(m=1\) 你发现随便换 \(a_1\) 答案最多减少 \(1\),而且 \(a_1\) 越趋向于减少,所以 ......
Codeforces 报告 Round 905

Codeforces Round 905 (Div. 2) D1. Dances (Easy version)(贪心+二分)

Codeforces Round 905 (Div. 2) D1. Dances (Easy version) 思路: 对于 \(a\),它的头默认为 \(1\),则 \(a_0\) = \(1\) 对于排完序的 \(a\) 与 \(b\) 数组 最优为从 \(a\) 的结尾删除,从 \(b\) 的 ......
Codeforces version Dances Round Easy

「解题报告」Codeforces Round 905 (Div. 3)

A. Morning You are given a four-digit pin code consisting of digits from \(0\) to \(9\) that needs to be entered. Initially, the cursor points to the ......
Codeforces 报告 Round 905 Div

Codeforces Round 905 (Div. 2) C. You Are So Beautiful(数据结构)

Codeforces Round 905 (Div. 2) C. You Are So Beautiful 定义: 设数组 abcd 子数组定义:从原数组砍去前面若干元素,后边若干元素,剩余的数组。如:bc、ab 子序列定义:从原数组删除若干元素,剩余元素拼凑一起,组成的数组。如:ac、bd 思路: ......

Educational Codeforces Round 144(CF1796 D~E) 题解

D. Maximum Subarray 题目链接 十分钟秒了一道 *2000,非常爽,但是个人感觉确实非常简单。 下面令 \(b_i=a_{i}-x\),\(b_i'=a_i+x\) 。 因为 \(k<=20\),因此考虑一个复杂度与 \(k\) 相关的做法。 不妨 dp:设 \(f_{i,j,0/ ......
题解 Educational Codeforces Round 1796

Codeforces Round 905 (Div. 3)

E. Look Back 因为每次都是2,可以推出x<=y2^(n),转化成 x/y<=2^(n),求n直接取对数即可 注意: 1.答案很大要开LL 2.不要直接乘,会爆LL,直接利用原式即可,如果后面的大,就减去大多少的对数 3.记得向上取整 点击查看代码 #include<bits/stdc++ ......
Codeforces Round 905 Div

sift+flann(kd-tree)+RANSAC 进行图像匹配

python 3.7.11 opencv3.4.2.16 import numpy as np import cv2 from matplotlib import pyplot as plt def img_match_first(src,dst): # sift特征提取 sift = cv2.xf ......
图像 kd-tree RANSAC flann sift

Codeforces Round 905 (Div. 2)

目录写在前面ABCD1/D2E写在最后 写在前面 比赛地址:https://codeforces.com/contest/1884 oonp 这场 div2 怎么才 2k5 人打啊我草 里面还不知道多少大神的小号,呃呃 打了 1k3 掉了 75 分也是牛逼 A 考虑如何拼出一个长度为 \(n-k\) ......
Codeforces Round 905 Div

Codeforces Round 905 - div.3(A B C D E)

目录Codeforces Round 905 (Div. 3)A. MorningB. Chemistry Codeforces Round 905 (Div. 3) A. Morning 模拟光标移动即可 void solve(){ string ss; cin >> ss; char ch = ......
Codeforces Round 905 div

Codeforces Round 904 (Div. 2)

目录写在前面ABCD写在最后 写在前面 比赛地址:https://codeforces.com/contest/1884 捏吗我不会容斥,我是飞舞。 A \(k\le 10\),于是直接枚举 \(x\sim x+20\) 检查即可。 // /* By:Luckyblock */ #include < ......
Codeforces Round 904 Div

CF981E Addition on Segments

将操作按右端点从小到大排序,这样对于当前值相同的点,只有最右边的那一个是有用的。 令 \(f_i\) 表示当前值为 \(i\) 最靠右的点的位置,转移直接暴力判断能否取 \(\max\) 即可,时间复杂度 \(O(nq)\)。 这个东西看起来就不好优化。 不妨调换状态和值,令 \(f_{i,j}\) ......
Addition Segments 981E 981 CF

Codeforces Round 905 Div 1 (CF1887)

A1. Dances (Easy version) 把 \(a,b\) 序列都从小到大排序,\(a\) 贪心删大的,\(b\) 贪心删小的,二分答案并 \(O(n)\) \(\text{check}\)。 Code ```cpp const int N=1e5+5; int T,n,m; int a ......
Codeforces Round 1887 905 Div

数据结构与算法 | 二叉树(Binary Tree)

"二叉树"(Binary Tree)这个名称的由来是因为二叉树的每个节点最多有两个子节点,一个左子节点和一个右子节点。其中,“二叉”指的是两个,因此“二叉树”表示每个节点最多可以分支成两个子节点。 ......
数据结构 算法 结构 数据 Binary

Codeforces Round 887 (Div. 2)

Codeforces Round 887 (Div. 2) A. Desorting 解题思路: 每次操作能使相邻数之差减\(2\),设最小相邻数之差为\(mind\),答案为\(ans = (mind + 1) / 2\)。 代码: #include <bits/stdc++.h> using n ......
Codeforces Round 887 Div