8.30 蓟县制酒厂

8.30 CF Round 969 (Div.1)

Solve : A~C (3/6)

Rank : 516

Rating : \(2174-10=2164\)

Perf : 2134 | 2134

发挥评价:Bad+

唉,被 1B 整破防了。

现在一碰到这种 implementation 就爆炸,要想清楚再写。

然后我还以为 B 都不能过(那太唐了),不过反正 1.3h 过了还是下大分,只好写 C。

C 最后还想了很久,还忙中出错吃了两发,反正是在 2h28min 通过了,离 -60 一步之遥。

啥时候能有 duel 时候切 *2300 的速度,我就离 IM 不远了。

(当然如果我只打 Div.1+2 也不远了)

一些后话:

其实做题速度真的 Really matters 尤其 Div.1 中档选手过题并不多。

之前 VP 872 的速度就很可观,51 分钟搞定到只剩一道题,就算放到 Div.1 最后只过 A,B1,B2,这个速度 41 分钟没有罚时也可以让我获得 Grandmaster 的 Performance。

还有就是尽量少吃罚时,Div.2 时候罚时影响被过高的得分冲淡了,Div.1 only 会明显一些。

CF2006B

一棵按照 dfs 序标号的树,每条边长度未知,只知道总和为 \(w\)

现在 \(n-1\) 次询问,每次选择一条边公布权值,问对所有 \(1\le i\le n\)\(\text{dis}(i,i%n+1)\) 最长能是多少,只需要输出 \(1\le i\le n\) 的所有情况答案的和。\(n\le 2\times 10^5\)

Solution:我们假设所有不知道边权的边名字叫未知边,那么对于包含所有未知边或者不包含未知边的,答案不影响;只有包含部分未知边才影响。

显然每条已定边计算两次,未定边计算未定路径加包含所有未知边路径次。

考虑到任意修改一条边只会动两条路径,暴力维护即可。

CF2006C

一个非负整数集,可以加入集合中任意两数的平均数(得是非负整数),如果能这样变换成一段连续值域,这个集合就是好的。

现在给定一个序列,求有多少区间组成的集合是好的,\(n\le 4\times 10^5,a_i\le 10^9\)

Solution:先观察好的数组的形态,然后发现大多都是好的,那计算不好的。

不好的数组的形态是:将最小的改为 \(0\) 后,如果 \(\gcd\) 包含奇数质因子,就不好,否则 \(\gcd=2^i\),就好。

但是最小改为 \(0\) 不好处理,可以研究差分数组,现在问题就是固定左端点找最远的符合规定的右端点,发现有单调性,ST 表预处理后二分即可。

posted @ 2024-08-31 14:58  Fun_Strawberry  阅读(15)  评论(0)    收藏  举报