随笔分类 - Codeforces
摘要:Timetable 题意: 给出 $n$ 行 $m$ 列 $01$ 串,对于每一行所要花费的代价是行中第一个 $1$ 和最后一个 $1$ 之间的距离加一,现在你有魔法可以去除掉 $k$ 个 $1$,问去掉不多于 $k$ 个 $1$ 的情况下,你所能获得的最小代价是多少。 思路: 看到有 $k$ 次限
阅读全文
摘要:C.Cheering 题意: 判断一个字符串中$LSC$, $PCMS$ 哪个字符穿出现的次数多,如果一样多输出$Tie$ 思路: 模拟就行 signed main() { std::string s; cin >> s; int res = 0, ret = 0; std::string A =
阅读全文
摘要:F.Multi-Colored Segments 题意: 给定 $n \left(n\leq2 * 10^5\right)$ 个有颜色的线段 $\left[l, r, c\right]\left(1 \leq l, r \leq 10 ^ 9, 1 \leq c\leq n\right)$ .请计算
阅读全文
摘要:Little Girl and Problem on Trees 题意: 给定一棵无边权的树,除了根节点以外的节点度数不超过 $2$,有两种操作 (0 v x d)将距离 $u$ 节点 $d$ 距离之内的节点的值加上 $x$ (1 v)询问 $u$ 节点的值 $n\le 100000$,$q\le
阅读全文
摘要:A. Three Piles of Candies 题意: 给三个堆蛋糕,$Alice$ 和 $Bob$ 两个人分,要使得两人最后拿到手上的蛋糕数一样多,求两人最多可以获得多少蛋糕。 void solve() { i64 a, b, c; std::cin >> a >> b >> c; std::
阅读全文
摘要:A.Polycarp and Sums of Subsequences 题意: 有一个数组 $a$ 长度为 $3$ ,将所有的非空集合中的数全都加起来可以得到 $b$ .已知数组 $b$ ,返回去求 $a$ 思路: 假定 $a = {x, y, z}$ , 且 $x \leq y \leq z$ ,
阅读全文
摘要:Two Fairs 题目大意: 给出一张有 $n$ 个结点、 $m$ 条边的无向联通图; 图上有两个特殊点 $a$ 和 $b$ ($1\leq a,b\leq n,\ a\neq b$); 求出满足下列条件的二元组 $(u,v)$ 的对数: $1\leq u < v\leq n$; $u\neq a
阅读全文
摘要:Aroma's Search 题目描述 这个空间可以看作是一个二维平面,在其内部有着无限多的数据点,从 $0$ 开始标号,它们的坐标定义如下: 第 $0$ 个点的坐标为 $(x_0, y_0)$。 对于 $i > 0$,第 $i$ 个点的坐标为 $(x_i, y_i) = (a_x \cdot x_
阅读全文
摘要:M.Short Question 题意:求$\sum\limits_{i = 1} ^ {n}\sum\limits_{j = 1}^{n} \min\left(\left|p_i - p_j\right|, \left|q_i-q_j\right|\right)$的值 首先带上绝对值来计算不太方便
阅读全文
摘要:题目链接 有$n$个快餐店,每个快餐点之间间隔$k$米,可以理解为是一个$n × k$的环,Sergey 从$s$位置作为起始点,每次走$l$的长度,但是他忘记了$s$和$l$是多少,只知道从$s$和$s + l$位置到最近的快餐店需要走多远。让我们求出来从重新回到$s$位置需要走多远的路程,分别求
阅读全文
摘要:题目链接 题意:实现三种操作$1.$将$p$加入集合中,$2.将p$从集合中删去,$3.$查询集合中所有的树在异或$p$之后有多少个数小于$l$. 思路:看到跟异或的统计数字问题,所以考虑用$01Trie$树来实现这些操作,将$p$加入到集合或从集合中删除,就是很正常的$Trie$树的操作,将每一个
阅读全文
摘要:题目链接 主要要实现区间覆盖和区间查询不同数,看见区间赋值操作可能会想到$ODT$来实现,区间查询不同数直接另外开一个数组记录一下就好了,但很可惜$TLE$了,代码如下: struct ODT { struct Node { i64 l, r; mutable i64 v; Node (i64 l,
阅读全文
摘要:#题目链接 题目意思:给一个以$1$为根,$n-1$条双向边的树形结构,让我们选出$k$个节点作为出发点前往根节点$1$,算出每一个出发点到根节点的路径上有多少个非出发点的节点数的总和。 思路:如果我们选$u$节点作为非出发点的话,$u$的子树都会加上$u$这个节点的贡献$1$,总共$siz_u-1
阅读全文
摘要:题目链接 题意:将一个序列分成$k$段,求出这$k$段中$cost(t) = \sum\limits_{x \in set(t)} last(x) - first(x)$的大小,也就是求出区间内最后一次出现的数和第一次出现的数之间的差值。 思路: 对于求解这个式子的最小值,考虑用$dp$来求解,$d
阅读全文
摘要:题目链接 每次给两个数$l,r$,要我们选一个$x$使得$\sum_{i = 1} ^ {k}dist(l,x,r)$的值最小。可以知道要让答案最小的话,$x$一定要刚好把$l,r$平均分在两边,如果不是平分的话,$x$就会向多的一侧移动,所以要我们求得就是中位数。 $nbsp;$emsp;中位数我
阅读全文
摘要:题目链接 题目的大意是Ivan他一周的课表是已知的,用一串$01$串来表示一天的上课情况,$1$表示的这个时间段是有课的$0$表示的是没有课的。现在Ivan这一周可以翘$k$节课,求出来Ivan在学校的最短时间应该是多长。 因为每一天只有翘掉首尾的课是可以减少这一天对答案的贡献的,所以翘课的时候应该
阅读全文
摘要:A. Odd Divisor 题意就是判断这个数是否有大于等于$3$的奇数因子。 考虑用二进制来表示一个数,可以举例去找规律。\((110)_{2} = (6)_{10}\),\((1000)_{2} = (8)_{10}\), \((1001)_{2} = (9)_{10}\),\(\dots\)
阅读全文
摘要:这篇题解题目的顺序是按照我认为的难度顺序来的。 K.音乐游戏 把每一行的字符串读进来之后,直接去计算这个字符串中有多少个$"-"$字符就可以了 int n; std::cin >> n; i64 ans = 0; rep(i,0,n + 1) { // for (int i = 0; i < n +
阅读全文
摘要:C. Cyclic Permutations 题意: 给定一个$n$个数的排列,在$1\sim n$之间的选定一个位置,从这个位置向左向右分别找到第一个满足$p_k > p_i$和$p_j > p_i$且$k < i < j$,将$i$位置分别和$j, k$位置的点连一个无向边,使它们构成一个环。最
阅读全文
摘要:A.Red Versus Blue 题意: 尽可能的使$r$个$R$分开,使得连续的$R$的个数最少。 思路: 先将$r$个数分成$b + 1$组,每一组至少分配$\frac{r}{b + 1}$,现在就要考虑剩余的$R$有多少个。因为根据除法可以知道,我们剩下的$x$个数一定满足$x < b +
阅读全文

浙公网安备 33010602011771号