colorful 133f tree abc
[ABC216G] 01Sequence
题目链接 很显然,按照右端点从小到大排序,对于每段区间尽量地贪心放在靠右的位置即可。 中间用 std::set 维护当前还是 \(0\) 的位置,以及树状数组维护区间 \(1\) 的个数。 点击查看代码 #include <bits/stdc++.h> #define FL(i, a, b) for ......
[ABC212H] Nim Counting
题目本质就是对一个多项式 \(F\) 进行等比数列求和得到 \(G\)(\(F_i\) 表示 \(i\) 在序列 \(A\) 中的出现次数),求 \(G\) 所有下标 \(>0\) 的位置的权值和。 显然,\(M\) 固定就可以直接做了。但 \(M\) 不固定,所以我们只能暴力枚举 \(M\) 并进 ......
CF1254D Tree Queries
Tree Queries Luogu CF1254D 题面翻译 给定一棵 \(N\) 个节点的树,有 \(Q\) 次操作。 \(1\ v\ d\) 给定一个点 \(v\) 和一个权值 \(d\),等概率地选择一个点 \(r\),对每一个点 \(u\),若 \(v\) 在 \(u\) 到 \(r\) ......
B - Christmas Trees
B - Christmas Trees https://atcoder.jp/contests/abc334/tasks/abc334_b 思路 对于起始种树点A 在 [L, R]区间的位置情况,三种 A < L A> R A>=L, A<=R Code https://atcoder.jp/con ......
[ABC334E] Christmas Color Grid 1 题解
题目传送门 一道 dfs 题。 先统计出绿连通块数量,然后对于每个红色方块统计涂成绿色方块后会变成多少个连通块。正常涂成绿色后应该会增加一个大小为 \(1\) 的绿连通块,但若是有不同的绿连通块与其相邻,答案又会减少 \(1\)。 Code #include <bits/stdc++.h> cons ......
[ABC334C] Socks 2 题解
题目传送门 一道贪心题。 数量为 \(2\) 的袜子不用考虑,因为最好的情况就是相同颜色的配一对。 我们只需要考虑那 \(k\) 种只有 \(1\) 个的袜子,如果 \(k\) 为偶数,答案为相邻两数之差之和;如果 \(k\) 为奇数,就枚举删掉一个数,让剩下的数按照 \(k\) 为偶数的情况做,最 ......
ABC267 复盘
ABC267 复盘 At 链接 LG 链接 [ABC267A] Saturday 思路解析 用一个 map 存下每个日期代表的数字,拿 \(6\) 减去即可 code #include<bits/stdc++.h> using namespace std; map<string, int> mp; ......
CF1917F Construct Tree 题解
Description 给你一个数组 \(l_1,l_2,\dots.l_n\) 和一个数字 \(d\)。问你是否能够构造一棵树满足以下条件: 这棵树有 \(n+1\) 个点。 第 \(i\) 条边的长度是 \(l_i\)。 树的直径是 \(d\)。 只需要判断是否有解即可。 \(2\le n\le ......
ABC333G
题面 给定一个小于 \(1\) 的正实数 \(r\) 和一个正整数 \(n\)。 要求在满足 \(0≤p≤q≤n\) 和 \(\gcd(p,q)=1\) 的前提下,找到使 \(|r-\frac{q}{p}|\) 最小的二元组 \((p,q)\) 。 如果存在多个这样的二元组 \((p,q)\),输出 ......
AT_abc020_c 题解
链接(atcoder) 链接(luogu) 简单算法组合(? 算法一 爆搜,时间复杂度 \(O(2^{n \times m} \times t)\),不能通过此题。 算法二 考虑二分 \(t\),然后暴搜,时间复杂度 \(O(2^{n \times m} \times log2(t))\),不能通过 ......
CF1917F Construct Tree 题解
题目链接:https://codeforces.com/contest/1917/problem/F 题意 有 \(n\) 条长度 \(l_i\) 的边,问它们是否能组成一棵 \(n + 1\) 个节点的树,使得树的直径长度为 \(d\)。\(n, d \le 2000\)。 题解 首先当然要存在一 ......
CF342E Xenia and Tree
题意 给定一棵 \(n\) 个节点的一棵树,初始时 \(1\) 号点为红色,其余为蓝色。 要求支持以下操作: 将一个节点变为红色。 询问节点 \(u\) 到最近红色节点的距离 共 \(q\) 次操作。 Sol 喵喵题。 不难想到点分树做法,不再阐述。 考虑简单的操作分块。 对于块外,可以考虑每做完一 ......
【CF1917F】Construct Tree
题目 题目链接:https://codeforces.com/contest/1917/problem/F 给出 \(n\) 条边的边权,询问是否可以构造出一棵树,使得所有边都被用上恰好一次且直径为 \(d\)。 \(n,d\leq 2000\)。 思路 首先肯定是找出一条长度为 \(d\) 的链, ......
[LeetCode] 1578. Minimum Time to Make Rope Colorful
Alice has n balloons arranged on a rope. You are given a 0-indexed string colors where colors[i] is the color of the ith balloon. Alice wants the rope ......
CF396C On Changing Tree 题解
CF396C 考虑将贡献表示出来:\(\forall v\in \text{subtree}_u\),\(v\) 会加上 \(x - (dep_v - dep_u)k\),然后发现这个东西可以维护整棵子树,即把 \(x,dep_u\times k\) 和 \(dep_v\times k\) 分开计算 ......
[ABC267F] Exactly K Steps 题解
[ABC267F] Exactly K Steps 题解 思路 首先发现,如果对于查询 \((u, k), k > 0\) 可行,那么对于 \((u, k - 1)\) 也一定可行,因为往回走一步就可以了,所以对于一个点可以找到离它最远的点,根据直径的结论,这个点一定是直径的端点之一。 为了方便做, ......
【OpenCV】【Python】关于cv2.findContours()轮廓索引(编号)解析(RETR_TREE)
在打算自己实现二维码的定位的时候,看到了相关博文的关于cv2.findContours返回的层级信息来定位三个“回”字从而达到定位二维码的目的,但是返回的hierarchy中的层级信息分别对应的是哪个轮廓却困扰了许久,查阅了很多资料最后还是自己手动找出了清晰的规律。 关于hierarchy返回的每一 ......
CodeForces 1917F Construct Tree
洛谷传送门 CF 传送门 考虑形式化地描述这个问题。先把 \(l\) 排序。然后相当于是否存在一个 \(\{1, 2, \ldots, n\}\) 的子集 \(S\),使得: \(\sum\limits_{i \in S} l_i = d\)。 \(\exists T \subseteq S, \m ......
AtCoder_abc334
AtCoder_abc334 A - Christmas Present 题目描述 输入两个数 \(B,G(B \neq G)\) ,若 \(B\) 大,输出 Bat ,否则输出 Glove 。 解题思路 无 Code // Problem: A - Christmas Present // Con ......
How does B-tree make your queries fast?
原文 https://blog.allegro.tech/2023/11/how-does-btree-make-your-queries-fast.html ......
Codeforces1917F - Construct Tree
Codeforces1917F - Construct Tree Problems 给一个长度为 \(n\) 的序列 \(l\) 和 \(d\)。 要求判断是否可以构造出一颗节点数为 \(n+1\) 的树,满足 \(l\) 的每一个元素唯一对应为一条边的长度,并使整棵树的直径长度恰好为 \(d\)。 ......
CF434E Furukawa Nagisa's Tree
CF434E Furukawa Nagisa's Tree 洛谷:CF434E Furukawa Nagisa's Tree Codeforces:CF434E Furukawa Nagisa's Tree Problem 冈崎朋也要送古河渚一棵点带点权的树。给定常数 \(k, x, y\),其中保 ......
Atcoder ABC 333 F - Bomb Game 2
题目大意(采用0#语言):有n个人,每个人每次要么被“炸掉”,要么就被移到最后面去,概率都是1/2,求最后只剩下初始时排名为第i的人的概率。 这道题跟人数有关,而且跟位置有关。 我们定义dp[i]表示一共有i个人,第i个为最后一位留下来时的概率。 (不想写公式) 定义j从0到i - 1,表示从前面i ......
[ABC265F] Manhattan Cafe 题解
[ABC265F] Manhattan Cafe 题解 思路解析 很有思维难度的一道题。思路是dp,\(f[i][j][k]\) 表示已经计算了 \(i\) 维,距离点 \(p\) 的距离为 \(j\) ,距离点 \(q\) 的距离为 \(k\) 时的整点 \(r\) 个数,由此可见我们的每一维都可 ......
ABC334 全套题解
A - Christmas Present 简单题。 void slv() { int a = Read<int>(), b = Read<int>(); if (a > b) Puts("Bat"); else Puts("Glove"); return; } B - Christmas Tree ......
AtCoder Beginner Contest 334 G Christmas Color Grid 2
洛谷传送门 AtCoder 传送门 考虑相当于把每个标记点的边全部断掉,然后求连通块个数。 考虑一条边 \((u, v)\)(设 \(u < v\))的出现时间,不难发现是 \([1, u - 1] \cup [u + 1, v - 1] \cup [v + 1, n]\)。于是考虑直接套线段树分治 ......
题解 ABC334E【Christmas Color Grid 1】
先求出初始时绿连通块数量。 枚举每个红色格子,将其染成绿色本应增加一个绿连通块,但是它每与一个绿连通块相邻,就又会减少一个绿连通块。根据上述规则可以求出每个红色格子染绿后的绿连通块数量,求平均值即可。 时间复杂度 \(O(nm)\)。 // Problem: E - Christmas Color ......
题解 ABC334G【Christmas Color Grid 2】
先求出初始时绿连通块数量。 将一个绿色格子染成红色,会改变绿连通块数量,当且仅当这个绿色格子是孤点或割点。如果是孤点,会使得绿连通块数量减少一;如果是割点,会使得绿连通块数量增加它所在的点双数量减一。根据上述规则可以求出每个绿色格子染红后的绿连通块数量,求平均值即可。 时间复杂度 \(O(nm)\) ......
题解 ABC334F【Christmas Present 2】
设 \(f_i\) 表示假设只有编号为 \(1\sim i\) 的点,此时的答案。\(f_n\) 即为所求。 显然有: \[f_i=\min\limits_{i-k\le j < i}\{f_j+dis(s\to j+1\to j+2\to\cdots\to i)\}+dis(i\to s) \]当 ......