集训模拟赛第二轮
10.15
时间轴
通读全文(今天见识到这一习惯的好处)。发现
重新开始看 & 操作起来,题目即求最多可以划分出多少个相同区间。这一看就很 dp。
一开始我一直认为需要枚举一段前缀,确定最终形态下每段区间的值。但这样如何做都不可能突破 & 操作最特殊的一点就是:只要有一位上有
于是就有一个神奇的发现:最终的数字肯定是所有数 & 起来。
然后就随便 dp (或者是贪心?) 一下就好了,因为要优化成
发现过不了样例,原来 ST 表写错了。然后就往后了。
想了一下
因为刚刚就觉得
然后就发现一个地方写错了,我就说,怎么可能算重。然后再一测,算多了!继续看代码,发现我写的什么东西,三目运算符里面完全写反了。
然后就过了所有样例,然后赌很多人不会开 T3,认为赢了。
继续回去做
看了一下
调了一会儿后就过了样例和第一个大样例,第二个大样例跑了接近 30 秒,本来想把每次询问的复杂度优化成
在
检查低级失误,然后摆了。
直播评测,不是,这极域怎么又爆了,只好围着 hyy 和教师机看,然后就发现
巧克力??????我怕长虫牙,不拿了。
总结
失误
- 不要太懒了,CSP 和 NOIP 基本上都不是子任务,能多拿一个点是一个点,就像今天,如果把
D 题进行一点点小的常数优化其实就可以拿到更不错的分数。 - 找性质的能力还是有待加强,比如
B 题还有更简单的一个性质:行和列肯定有一个要涂满。可能根据这一点可以想到更多吧。优点
- 通读全文,似乎很多看了我总结的都在学习?
记得点赞。 -
最后,还是希望能拿巧克力? 上一个立 flag 的人还是上一个。
10.18
以下按通读全文后开题顺序所述。
A
构造,我怕过吗?注意到每个点和异色点的距离最小值肯定是与它直接连边的的点贡献的。所以我们可以考虑答案的形式肯定是每个点都与某一个异色点有一条边,这不就是一棵树吗?
那我们考虑这棵树有什么性质呢?显然,他肯定是原图的最小生成树,这样可以满足最大的边权最小。
然后我们找到最小生成树后就随便染一下色就行了。
在
D
这个题怎么这么的有趣呢?我发现两个根节点到其他节点的距离构成的多重集相同!然后就写了个哈希,发现全部输出 YES。然后就发现这只是个必要条件。(太蠢了)
然后除了一些显然的东西,就没找到其他比较有突破性的充要条件了。
然后在 YES。
B
感觉很简单,但是又很难。相当于把区间覆盖问题转换到树上,感觉“删除当前被覆盖次数最多的点”这一做法挺对的,然后就先写了个
然后就一直怀疑自己哪里写错了(毕竟写了很多),但是最终并没有看出来哪里有错误。
然后只能妥协:这是错误的。(现在想起来,当时实在是太蠢了,这个做法转换到区间上显然是一个错误的贪心啊!)
C
看了一会儿后会了 set,所以写了很久。
不过这道题实际上很妙啊,我们可以将“选择”转换为判定问题,就直接一股脑把所有可能有贡献的区间放进去,维护一下最大的一个位置使得能够覆盖某个点,查询是最小值,所以线段树可以直接打 lazy。
10.19
当了几次守门员之后还是倒三了。其实开题阅读完全文后就得出了一个结论:每道题都十分可做,但是好像都差一点。于是就陷入了最忌讳的一种策略:每道题来回思考。
时间轴
通读了全文,感觉 kmax 是最大匹配,但是 kmin 没意识到是什么。
开始想
正当我兴致勃勃地写的时候,突然意识到一个问题:每种直径的情况对应的最长链不同啊!我们并不知道是优先保证直径最小转移最长链还是保证最长链最小转移直径。
而这样的转移显然是个环,那直接 dp 就肯定不行了。
然后就将手离开键盘114514小时很久,想了一些其他做法,类似于贪心、二分之类都未果后,“果断”放弃了这题。
(但实际上还是经常回头看这题,而这些思考多半都是无意义的,只会耽误后面题目的思路)
(中途上了多次厕所,因为第一次
开始慌了,看
开始写
然后就编译,发现
然后现在终于有
开始补救,打暴力,但是
反思
然后果不其然,打得是近几场以来最爆炸的一次。
问题有如下几点:
- 太过于看重前面的题目有没有通过,导致卡一道
A 题后时间也花了,后面的题想起来也心烦意乱。 - 思路太不集中了,一条思路未果后没办法将其他思路想到更深一步的地方,也不是很擅长将多种思路进行结合。
- 不是很能接受多种做法假,如果都假了就不太能够正常思考了。
- 就算自己已经下定决心跳过某道题目,还是会有藕断丝连的感觉,总是往回看,影响自己现在想的题,但是又不会又过多的效果。
- 太懒了,哪怕知道做法是错的,为什么不写出来乱搞一下呢?知道是二分图为什么不写个匹配呢?构造为什么不写
SPJ呢?如果我可以减少一些慌的时间和空想的时间,多写一些实际的做法,会不会好一些呢? - 暴力没有及时打,导致后面几道题打得很急,没有拿到应有的分数。
总之这次考试对于我来说还是一次很有价值的教训,希望能够在