• FOI 2019 游记


    Day -3 and -2

    打 FZYZ 的 NOIP-TG 模拟,发现自己弱得一匹。。。

    Day 1

    今天是一中的 chj2001 大佬讲数论。

    然而有一个老师注意事项讲得太久,我看他的手指都一直在敲桌子

    最后拖课了将近半小时

    听课还好

    下午测试,但是并不怎么样

    开题,T1 调了一个多小时,结果没有调出来,就把输出样例搞了一下就交上去了

    T2 看起来递推可以得部分分,但是我的程序只能过最弱智的部分分。。。

    然后赛后讲评的时候,我们集体走错场地(包括老师)

    这是老师 PPT 里的一句话:

    这个样例,无疑是善良的出题人无私的馈赠。大量精心构造的 n ≤ 100, m ≤ 200 的测试数据,涵盖了测试点中所有出现性质的组合。
    你可以利用这个测试点,对自己的程序进行全面的检查。足量的数据组数、不大的数据范围和多种多样的数据类型,能让程序中的错误无处遁形。
    出题人相信,这个美妙的样例,可以给拼搏于 AC 这道题的逐梦之路上的你,提供一个有力的援助。

    赛后成绩只有 10+10+0=20,RK 71,还是太弱了

    Day 2

    今天是附中的 ditoly 大佬讲数结。

    课貌似还是听得懂的,最难的莫非 zkw 线段树。

    ditoly:今天下午的题目很简单;我:……

    中午 11:30 就到机房了。

    然后花半小时打了 luogu P3372 的线段树、树状数组、分块的做法,感觉还可以。

    又花了一些时间学了 Trie.

    13:30 准时开题。

    T1 我本来想用 std::set 打暴力,然而我的迭代器炸了,只能用数组勉强打一个。

    T2 本来暴力是 $O(n^3*m)$,20 分,结果我嫌这个暴力难看就想到了前缀和(?

    然后复杂度就降为 $O(n^2*m)$,期望得分变成 40。

    T3 点开,枚举了前几种情况,然后在 OEIS 里面找到了一串数列,但是感觉不对,就没有写上去。

    然后我就写了一个东西:

    printf("%d
    ", 1ll * rand() * rand() % 998244353);

    虽然好像基本用不到

    17:00,比赛结束,我 0 + 50 + ?= 50 + ?,RK 61

    T3 我没有交,反正也应该没有分。。。

    关键是 T1 怎么炸了

    ditoly 讲评,原来是每一个数据都很毒瘤,然后 k=0k>n 的情况我都没有讨论。

    然后 T2 可以通过排除不必要的情况暴力到 90分,最后十分要前缀和套入线段树。

    接下来 T3,没想到 OEIS 的序列是对的 ?!

    感觉今天又丢了很多不该丢的分。

    感觉今天考的更偏向数学

    Day 3

    今天是一位来自长乐一中的神犇讲搜索的优化。

    有剪枝、双向搜索、迭代加深、A* 等。

    按照惯例,今天下午肯定不测试搜索。

    果然,T1 看着是数学,先打了 50 分的子任务。

    然后 T2 又可以用前缀和暴力。

    T3 因为感觉时间不够就先不写了

    因为今天 OJ 不评测,改成其它地方了,所以成绩 21:30 才出来。

    然而我才 0+30+0=0,RK 41

    大家都在议论,听说是 T1 没有子问题,数据出锅了,没有造出那 50% 的数据。。。

    所以本来能 80 分的。

    所以今天考的是数据结构。

    小结

    既然昨天考数学,今天考数结,那明天一定考搜索。

    好好复习搜索吧。

    Day 4

    FallDream 大佬讲课,三种 DP。

    下午开题:

    T1,然后看了一下二十分钟写了个暴力就跑了。

    T2,貌似有点不可做,整道题只有 3 个 Subtack,也跳了过去;

    T3,这不是暴力就能拿个 50 分吗?

    然后写了一两个小时,检查了特殊结果以及样例过了,就交了上去。

    最后我憋出来了一个 20 分的 T2 暴力。

    结果成绩出来只有 50+20+0=70,我的 T3 RE 掉了。。。

    只有 RK 90。

    Day 5

    今天是 FZYZ 的 SteAunk 神犇讲图论的一些东西。

    貌似 2-SAT 等算法能听得懂了

    然后我旁边有一个人调分块做超级线段树模板,调了一个半小时。。。

    下午网断了,然后也不能划水了

    开题:

    T1:这是图论题吗?一个哈希就过了!

    然后我由于太懒就写了一个 std::map

    20 分钟写完。

    T2: 30 分的数据不是 01 背包吗?

    然后我就乱写了一通,然后还多写了几个特殊的测试点。

    两题暴力写完才过了 45 分钟。

    T3:又可以暴力!

    然后我又搞了大约半小时就写完第三题的暴力了。

    又花了半小时写特殊子任务。

    整个写距离比赛结束还有 75 分钟。

    然后我就多写了很多可以得来的分。

    感觉这三题和图论没有什么关系

    事实证明,确实没有什么关系

    预计得分:100 + 30 + 40 = 170

    实际得分:100 + 50 + 24 = 174,RK 39.

    我 T2 怎么骗来了那么多分。。。

    T3 的 N=2 的时候写挂了。

    Day 6

    今天是一位去福州大学的老师讲网络流。

    还没有下课时间,后面我真的想睡觉。

    下午上机,就打了一个暴力

    然后成绩出来我的暴力都被卡了。。。

    但是大家的分数是真的低,30 分都能排在 RK 22 了。

    Day 7

    今天是来自南京大学的大佬讲计算几何。

    感觉比网络流好多了。

    然后听老师说,今天只有一道题是计算几何的。。。

    下午机试。

    T1:应该就是计算几何了,先放一边

    T2:一开始想到了 20 分,但是看到时间限制 5000ms 就知道不简单。

    于是我就想到了一个 $O(n^2)$,常数为 1/2 的做法。

    数据范围:$N ≤ 40000$;老师还通知今天有 O2 优化!

    于是我就抱着能卡过去的想法写了八十分的代码。

    T3:Subtack 1:这不是模拟吗?写了,30 points , get.

    然后通过各种打表等方式都不知道怎么优化。

    所以就放弃了,开始向 T1 进攻。

    T1:数据范围那么小,小到连状压的范围都比不过,看了是个搜索。

    于是我就写了一个 DFS,加计算几何的方式判断,花了三四十分钟。

    但是答案是错的。

    然后我就打印了遍历顺序,发现了一个容易忽略的东西:

    若两条线段的其中一个顶点重合,也算是相交。

    所以我就特判了一下,提前写了特殊的情况。

    在离比赛结束还有 30 分钟的时间时,我 T1 调完了,耗时 90 分钟。

    晚上出成绩,我 100+80+30=210,RK 5.

    应该是考得最好的一次了。

    Day 8

    今天讲 NOIP 历年真题。

    结果我能口胡解法的不超过三分之一……

    下午考的是什么鬼,出题人难道有追番???

    然后 T1 只会打一个 DFS,T2 打一个遍历,T3看都看不懂。

    比赛快结束了发现 T1 不是暴力的部分要写高精度。。。

    T1 讲评摘自老师原话:

    如果不高精度,就全是暴力分了,而且高精度用 5 分钟调一下就行了

    分数:30 + 0 + 0 = 30,RK ??

    然后滚回去准备结业考试了。。。

    Day 9

    我是第二个到机房的。

    然后监考老师在我刚打开网页的时候把网络关了。。。

    八点准时开题:

    T1,一看就是最小生成树,先花快半小时 $ ext{Kruskal}$ 暴力跑一遍,“60” 分到手。

    T2,DFS 20 分?花了 20 分钟敲。

    T3:

    基础暴力是 25 分,$O(n^3*T)$

    然后想了 10 分钟,写了一个差分 + 前缀和,打了 $O(n^2*T)$ 的 40 分暴力。

    时间:10:20

    回头看 T1,发现有些不对劲:

    $ ext{Kruskal}$ 最慢是 m log m,这题 60 分 m 是 $2.5*10^7$,时间限制是 1s。。。

    然后赶快改成了 $ ext{Prim}$。

    已经十一点多了

    然后脑子抽了,T1 竟然想不到正解

    然后就在颓废了。

    下午分数出来,我 60+10+35 = 105,RK 50,鬼知道我后面两题怎么都少了一个点……

    有一个初一大佬 RK 8.

    赛后我自己竟然想出了 T1 满分做法,只要缩边,这个图只会有 2*n 条边,n ≤ 10^5,$ ext{Kruskal}$ 足够跑过去了。

    $$color{green}{ ext{成为了蒟蒻,接下来要继续努力。}}$$

  • 相关阅读:
    lightoj1140_数位dp
    lightoj1057_状压dp
    lightoj1068_数位dp
    lightoj1018_状压dp
    lightoj1217_简单dp
    lightoj1119_简单状压dp
    lightoj1037_状压dp
    lightoj1110_LCS并输出
    图论算法----最短路
    poj1182 食物链
  • 原文地址:https://www.cnblogs.com/zengpeichen/p/11172113.html
Copyright © 2020-2023  润新知