JSOI2021 F类记

Day -INF

太好了,初中生可以报名,只要达到 NOIP2020 1= 分数线就行了。

哈哈哈,可以逃课和逃考了。

给比赛负责人 ls 付款 200 元。没有去年省选贵。

省选集训(其实就是乱刷一点题目)开始,咕掉了月考,月考直接爆零。

我现在水平还很菜,反正进不了 E 类,那省选就打着玩吧,当然能水个 rk40- 更好,反正当时 CSP-S/NOIP 2020 时的目标就是拿到 1= 并有资格参加省选(当时以为 rk65- 才能参加省选)。

这也是我第一次正式的两天的比赛(NOI2020 同步赛不正式)。

Day 0

奶一下题:

Day1:中型膜你(不压行时行数介于 101 和 150 之间)+ DS + DP

Day2:数学 + 图论 / 字符串 + DP / DS

还有,这次至少会有一处组题失误(指难度非单调不降)

难度:蓝黑紫 紫紫黑

(别问我对照哪一年的题奶的)

下午报到,我去领了狗牌,发现我是 JS-0009。JS-0010 是 dgc,JS-0011 是 csl,JS-0012 是 srf,都比我强,orz。

试机时调了一下系统,准备打个模板测试一下。结果发现旁边两个人都在上洛谷。居然没有封网,可还行。看到我旁边的人打了个多项式模板(orz),我就打了个 SA 模板,正好复习一下。然后样例 T 飞了,发现写了个寂寞,递减循环居然写了 ++i,还没有写 m = p。最后还是过了这道题,好评。

因为今年省队有 17 人,所以我对省选排名这样分区:

  • \(rk\in[1, 5]\),也就是 A 类,Au,不可能。
  • \(rk\in[6, 17]\),也就是 B/E 类,Ag,不可能。
  • \(rk\in[18, 34]\),两倍省队名额线,Cu,是本次目标。
  • \(rk\in[35, 51]\),三倍省队名额线,Fe,是目前水平。
  • \(rk\in[52, 101]\),胸牌(或狗牌)。

本次省选,保 Fe 冲 Cu。

明天比赛 ++rp。

Day 1

8:30 发文件包。看过所有题目后决定正序做题。

先看 T1,最大值(极差)最小化,很明显的二分。有一个显然的性质:翻转的一定是左边和右边连续的一段。然后想了几种 \(O(n \log^2n)\) 的假算法,均被叉掉。后来想到,可以枚举不翻转区间的左端点 \(l\),则合法区间为 \([a_l,a_l+k]\),然后枚举右端点 \(r\),只要 \(a_r \le a_l+k\) 就合法,合法就一定不翻转。这时 \(r\) 具有单调性,可以双指针。

样例挂了!蛤?然后发现我的做法只能正确处理最小值在 \(a\) 数组中的情况。那怎么办?直接枚举最小值,对于排序后的 \(b\) 数组 \(bb\),枚举最小值,此时 \(r\) 也具有单调性,所以双指针做法仍然适用。这就过了所有的样例。总复杂度 \(O(n \log n)\),可以 AC 本题。

然后做 T2。首先想到的是 \(m=2\) 的部分分。这 30 分直接根据和差关系乱写一通就行了,只是要判断一下边界情况。然后是 \(n=m=3\),可以按照中心—边—角的顺序构造,每个位置都是取 \(\min\) 值。这种方法过了样例和我自己出的数据。预计得分 50 分。

T3 一看就是很不可做。又要删点,又要删边。只写了一个最暴力的 \(O(n^3m)\),拿到了最低档部分分 16 分。

12:00 就开始对拍。T1 我根据性质写了一个 \(O(m^2)\) 的暴力,拍了 1200 组数据,没有任何问题。T2 我手写了一个 spj,也没有发现问题。

提交程序后随便问了一下,得知今天人均 200+(wtcl),然后他们说 T1 的性质是对的(还好),T3 可以用 Floyd 拿到 44 分。考场降智 28 分。

这样,我 Day1 的分数上界就是 100 + 50 + 16 = 166。

Day 2

考前:翻盘进 Cu(\(17<rk \le 34\)

考后:翻车成狗牌(\(rk>51\)

先撕烤 T1,想了树上倍增、树剖等算法,但因为信息太复杂不知道怎么维护,只打了 25 分的暴力分。

T2 一开始看错了题目,要求合法名次的数量,结果求成了合法 \(b\) 数组的数量。想了想状压 dp,但空间爆炸。又打了 25 分的暴力。测样例发现题目看假了,于是只是改了一下,根本没去考虑一个显然的 60 分贪心。于是又降智了 35 分。

T3(的部分分)倒是还可以做。先是想出了 \(O(qn^3)\) 的做法,然后优化成 \(O(qn^2)\)。树的部分分很好想,只要判断 \(s\) 是否在 \(t\) 的父节点的子树内。45 分到手。然后,我竟然想出了“正解”!然后模拟一下样例,假了!45 分程序和暴力对拍时还出了锅,答案为 \(0\) 而输出为 \(n\)。这是 \(1\) 号点的父节点的锅!于是我把 \(1\) 的父节点规定为 \(1\),这就对了。

Day2 分数上界:25 + 25 + 45 = 95,连 100 分都没有。

考试完,听他们交流,才知道 T2 有显然的 60 分贪心做法。

Day 6

出分。

100 + 50 + 16 + 25 + 25 + 45 = 261,和估分一模一样,一分没挂,就是降智了 63 分。

这个分数是 rk48(Fe),初中生 rk13,初二 rk3,海星,和 NOIP2020 差不多。

还好是铁牌,不是狗牌。

但是,如果不降智,那就是 rk32(Cu),初二 rk2。

总结

这次比赛,主要失分原因是考场降智。

其中一道题目,因为是 T3,又有一堆定义,所以就没有细想,没有想出 Floyd 的方法。

还有一道题,一开始看错了题目,后来没有重新撕烤,而是在原有程序基础上进行修改,导致没能拿到 60 分的贪心部分分。

不管怎样,我会作为 F 类选手,参加 NOI2021。

希望明年,我会是 E 类而不是 F 类。

posted @ 2021-04-18 01:03  猫猫NOIP2006  阅读(324)  评论(0)    收藏  举报