CodeForces 中分段 随机挑战 Part1
command_block · · 个人记录
-
第一印象,感觉 CF 的题目都不是很有趣,但比较真实。
如果说 AT 是浪漫主义,那么 CF 就是现实主义吧。但是最近 AT 也越来越怪了(
-
做了一些题,CF 的题目比较单薄,等水平通过率方差较大,区分度较低。
一者刷题成本低(只要你善于抛弃),二者可以锻炼反复冲击解法的能力,强化稳定性,好!
-
好多憨憨数据结构题,麻了……
评分机制
由
-
思维 Fineness :
-
-
实现 Mass :
-
-
质量 Quality :
-
-
.#1 CF1225F Tree Factory
题意 : 给出一棵
初始时你可以选择任意一种链
需要将链改造为
- 思维 Fineness :
(6) 观察 -
-
\ $ **质量 Quality** : $(6.5)
-
口胡情况 : 看错题……以为要标号对应,结果是可以自己指定链的标号。
(真实情况是,当年打这场的时候没做出来)
首先将整个操作过程时间倒流,可以看做每次将某点指向兄弟,需要将树变为链。
- 操作数下界 :记原树长链长度为
d (点数),每次操作最多使得树的长链长度增加1 ,需要增加到n ,故操作数至少为n-d 。
每次找出最深的节点
评测记录
-
.#2 CF508D Tanya and Password
题意 : 有一个长度为
给出每种长度为
- 思维 Fineness :
(3) 套路 -
-
- 口胡情况 : 5min。
\color{green}\bf\Delta
静态问题中,每个颜色维护个 vector 然后二分即可。
每次循环右移操作只会影响
用一棵平衡树维护相对顺序编号,
复杂度
不写代码。
-
.#4 CF449C Jzzhu and Apples
题意 :将
- 思维 Fineness :
(6) 观察与尝试 -
-
- 口胡情况 : 10min。估计了上界,此外没啥头绪。
\color{blue}\bf\Delta
从大到小枚举质数
可以发现,除了
- 总结 : 多试试看,不一定要等到安定点的征兆出现,一步迈过也是很可能的。
评测记录
-
.#5 CF1559D2 Mocha and Diana (Hard Version)
题意 :给出两个
指定一个边集
最大化
- 思维 Fineness :
(6.5) 归纳与构造、观察 -
-
- 口胡情况 : 10min 证明结论。20min 构造。
\color{green}\bf\Delta
记
考虑归纳证明之。不妨设
否则,若能成功找出一条边,则转化为
随意找点
若
若
对于其他情况,取
这玩意引出了一种构造,但复杂度很垃圾……
对于
若
不难验证正确性。
评测记录
-
.#6 CF741C Arpa’s overnight party and Mehrdad’s silent entering
题意 : 有
构造一种可行分配方式。
- 思维 Fineness :
(6) 建模(特征) -
-
- 口胡情况 : 15min 毫无头绪。图论建模无法处理三个人之间的影响。
\color{red}\bf\Delta
强制
可以发现问题变为了二分图染色,且由于必然交替走桌子边和情侣边,没有奇环,必定有解。
- 总结 : 构造题可以适当地强化性质(简化决策空间),总之,想不懂就试试看。
评测记录
-
.#7 CF986C AND Graph
题意 : 给出含
值域
评价 :
-
\ $ **CF Difficulty** : $2500 - 思维 Fineness :
(5) 模拟经典算法 -
-
\ $ **质量 Quality** : $(6)
- 口胡情况 : 25min 搞出个
O\Big(\binom{n}{n/3,n/3,n/3}\Big) 奇怪做法,然而并不能过,似乎可以扩展。\color{red}\bf\Delta
考虑求联通块数目的方法:从每个点出发搜索,并打标记,看出发了几次。
建立辅助图
这样,
将数字
然后大力搜索就是。复杂度
- 总结 :降智。“联通块数目”比“生成树”要弱,具体弱在哪里,可以去观察经典的算法。
评测记录
-
.#8 CF1368E Ski Accidents
题意 : 有一个由
您需要标记一些点(不超过
构造一种标记点的方案,使得删边后的图中每一条路径至多有一条边。
多组数据,
评价 :
-
- 思维 Fineness :
(6.5) 观察+验证 -
-
- 口胡情况 : 很有自知之明,看到
4/7 就直接开题解了。\color{red}\bf\Delta
对于合法方案
考虑
-
A$ 的入边全都来自 $S$ ;出边全部指向 $B$ 或 $S -
拓扑排序的同时维护集合
- 若
u 点入度为0 ,加入A - 若
u 点的入度都来自S ,加入A - 若
u 点的入度存在一个来自A ,其余都来自S ,加入B - 其余情况加入
S ,可以发现此时至少存在一个入度来自B
注意到
评测记录
-
.#9 CF1458C Latin Square
题意 : 维护一个
执行
- 将矩阵 上/下/左/右 循环位移一次。
- 将矩阵的每个 行/列 的排列求逆。
多组数据,
评价 :
-
\ $ **CF Difficulty** : $2700 - 思维 Fineness :
(6.5) 刻画 -
-
\ $ **质量 Quality** : $(8)
- 口胡情况 : 想懂了一维的情况。
\color{blue}\bf\Delta
为了方便将标号与值都减一,变为
将
对于三元组
-
循环位移可以看做将
a,b 加减1 ,模n 。 -
行求逆是交换
a,c ,列求逆是交换b,c 。
维护三元置换与每个位置的
复杂度
评测记录
-
.#10 CF547D Mike and Fish
题意 : 给定
构造一种方案。多组数据,
评价 :
-
\ $ **CF Difficulty** : $2600 - 思维 Fineness :
(5.5) 模型 -
-
\ $ **质量 Quality** : $(7)
经典题,这里直接记两种做法好了。
将点
- 欧拉回路
可以转化成欧拉回路,对于偶度点入度等于出度, 而奇度点的点入出度恰好差
我们将奇度点连一条边到一个虚拟点,对新图跑欧拉回路对边定向即可。
- 二分图染色
对于
得到的图是二分图,任意一种二分图染色即为答案。
-
方案的正确性 : 每条直线的每个对子贡献都是
0 ,可能的剩余点贡献是\pm 1 。 -
为什么是二分图 : 路径总是横纵交替,不可能存在奇环。
评测记录 (欧拉回路)
-
.#11 CF1305F Kuroni and the Punishment
题意 :给定
- 思维 Fineness :
(6) 蒙皮的套路 -
-
鉴于之前见过这题,直接给做法好了。
-
将所有奇数
+1 是合法方案 :ans\leq n -
至少有一半的数最终不变,
+1 ,或-1 若不止,则
ans 超过上界。
随机找出某个数,枚举
复杂度为
评测记录
-
.#12 CF1481E Sorting Books
题意 :你现在要整理书架上的
- 思维 Fineness :
(5.5) 观察 -
-
\ $ **质量 Quality** : $(6.5)
- 口胡情况 : 15min 想了两个假做法,很接近正解了。
\color{blue}\bf\Delta
显然同一本书至多移动一次,将问题转化为至多不移动的书的数目。
考虑一种保留的方案是否合法,必要条件是:各颜色区间不交。
对于非最后一个颜色,要保证一旦保留就要保留全部。
对最后一段颜色,可以只保留一个后缀。(合法方案:先移这种颜色,再移其他颜色。其余保留方案都不是最优的)
记颜色
然后枚举最后一段颜色的保留情况。
评测记录
-
.#13 CF1344C Quantifier Question
评价 :
-
\ $ **CF Difficulty** : $2600 - 思维 Fineness :
(5.5) 观察 -
-
- 口胡情况 :看错题一次,看对题很快就想出来了。
\color{green}\bf\Delta
对
考虑我们放
单独考虑每个位置放
不难发现把所有满足条件的都置为
评测记录
-
.#14 CF1325E Ehab's REAL Number Theory Problem
题意 :给一些数,每个的因数个数不超过
- 思维 Fineness :
(5.5) 建模,观察 -
-
\ $ **质量 Quality** : $(6)
- 口胡情况 : 看出了最小环。
\color{blue}\bf\Delta
显然每个数的质因子数目
先考虑每个数都有两个次数为奇的素因子
考虑只有一个次数为奇的素因子
求出最小环即可。注意到边中要么一端是
(最小环一定是某个 BFS 树的树环)
复杂度
评测记录
-
.#15 CF383E Vowels
题意 :给出 a ~ x 组成的单词,一个单词是正确的当且仅当其包含至少一个元音字母。
这里的元音字母是给定的 a ~ x 的一个子集。
对于所有元音字母集合,求这
- 思维 Fineness :
(2.5) 板 -
-
\ $ **质量 Quality** : $(3)
(不过在当时可能得分会好看一些)
- 口胡情况 : 一眼秒了。
\color{green}\bf\Delta
很容易转化成:给出
转化成与
评测记录
-
.#16 CF348C Subset Sums
题意 :给出序列
-
对于
v\in S_i ,令f_v 加w 。 -
求
\sum_{v\in S_i}f_v 。
- 思维 Fineness :
(3.5) 套路 -
-
\ $ **质量 Quality** : $(6.5)
- 口胡情况 : 一眼秒了。
\color{green}\bf\Delta
根号分治,将
预处理出 大集合与大集合,大集合与小集合 的交集大小,时空复杂度
对于小集合,加法暴力做,然后计算对每个大集合询问的贡献。
询问时,暴力求和,再计算大集合修改的贡献。
大集合修改直接打 tag ,查询直接查表。
评测记录