题解:CF914D Bash and a Tough Math Puzzle

这是一道几乎为模板的线段树裸题。题目要求的是单点更新,区间查询。 因为题目求的为 $\gcd$,所以线段树合并的时候肯定要写成 tree[cur] = gcd (tree[cur << 1],tree[cur << 1 | 1...

Solution

题解:CF883M Quadcopter Competition

这是一道有关于直角坐标系的题目,手动算一下就可以找到规律。 不难道想到分类讨论,我们分三类(飞行器与旗子应该不会重叠): $x_1 ≠ x_2$ 且 $y_1 ≠ y_2$。也就是样例给的图片,我们观察一下,发现比普通的求两点间的两倍曼哈顿距离又多...

Solution

题解:CF1505D Xenolith? Hippodrome?

本题的题面十分简单,但是我们可以从数据范围中与样例中看出一些细节信息。 首先是 $1 \le N \le 1024,2 \le M \le 16$,从 $M$ 的数据范围中很容易联想到 $N$ 在 $M$ 进制下所表示的数。把样例中的数字进行转换,分...

Solution

题解:P7472 【[NOI Online 2021 入门组] 吃豆人(民间数据)】

这道题大家可以先画画图,然后发现周围除四个角的任意一点出发,总能回到该点。因此我们可以只求出第一行开始遍历的求和答案,注意四角的两点需要特判! 至于如何求一个环之和,我们就找规律。令一开始往右下的方向走,则不断碰壁更改的方向依次是:右下 -&g...

Solution

题解:P7411 [USACO21FEB] Comfortable Cows S

就是一个深搜的过程,每次一头牛加入进来,做以下操作: 判断该位置是否已经有牛。若已经有牛,则说明之前的操作必须使该位置有牛才最优,因此此时可以将答案减去 $1$。 判断该位置是否满足题意。 判断该位置的四个相邻位置是否满足题意。 若有新加牛,...

Solution

题解:CF427C Checkposts

由题可以知道,每一条边都是有向边。一个检查站只能保护一个环上的路口,即检查站的个数也是环的个数。 题目的第一问求最小花费,也就是就每个环上建一个检查站的最小花费之和。因此用 tarjan 求出每一个强联通分量以及该分量内的最小花费,最后求一个和。 1...

Solution

题解:P7304 [COCI2018-2019#1] Zamjena

一道并查集的题目,实现的时候细节较多。 【注: 以下 fa 与 num 数组的 $1 \sim n$ 存第一个数组, $n + 1 \sim 2n$ 存第二个数组。】因为与字符有关系,所以可以用 map 来记录每一个变量/数字所出现的第一个位置并标记...

Solution

题解:P7338 『MdOI R4』Color

这是一道不错的贪心题目,同时也考察了选手们的读题仔细程度。先给出几个关键点: 只能对两个相邻且均为白色的格子进行染色,也就是说染色是不能够覆盖的 对于输入中的 1 的位置一定要为红色,其余位置随意。 以某行的第 $i$ 列 ($1 \le i...

Solution

题解:P7305 [COCI2018-2019#1] Cipele

这是一道练习二分的不错的题目。因为每组数据的答案的范围都可以被算出来,所以就可以对答案进行二分然后判断该答案是否合法即可,这样时间复杂度也会降到 $\log$ 级别,所以不会超时。 先来看看如何求答案的范围。为了方便程序的计算,以下保证 $n \le...

Solution

题解:P7258 [COCI2009-2010#3] SLATKISI

这道题目的本质还是对于四舍五入的理解。 对于一个位上的数 $x$,若 $0 \le x \le 4$,则会舍到 $0$;若 $5 \le x \le 9$,则会进一位到 $10$。而题目中的零数 $k$ 为 $0-9$,分别代表个、十、百 $\cdo...

Solution
1789101113