首页 > 其他分享 >GDOI2022 普及组游记

GDOI2022 普及组游记

时间:2022-08-26 01:56:22浏览次数:100  
标签:10 普及 T4 T2 T3 T1 啊啊啊 GDOI2022 游记

第一次写游记。

前言 & 个人评价

GDOI2022 普及组:干两天,每天干 3.5h,下午讲解。

我感觉这次比赛好难哇(当然是因为我太蒟蒻了),题目大概分三种:

  • 过度简单题

  • 困难思维题

  • 大模拟(啊啊啊啊啊啊啊啊啊啊啊啊x1)

出题人声称:

这次比赛更偏向思维(没错过度偏向思维)。

比 CSP-J 难一点(实际是难亿点)。

考试也没有规定不能出大模拟,所以这是合情合理的。(无话可说)

尽管如此,我还是相对满意的,因为基本没有挂分(注意基本二字,这说明还是挂了分)。

吐槽:没有大样例!我没法检查!啊啊啊啊啊啊啊啊啊啊啊啊x2

Day -1

刷线段树的题。

然而普及组不考线段树,所以等于没刷题,不过练手感的作用还是有的。

Day 0

干数学题。

Day 1.0

解压包密码:hope to see you soon

提前几分钟打完 freopen() 等文件,基本是准时开始做题。

T1 大淼,\(O(n^2)\) 的无脑写法都能过去,但我还是写了个 \(O(n)\) 的。

十分钟左右过掉。

T2 有点难,最最朴素的暴力 \(O(2^n \times n!)\) 一个点都过不去,赶紧放弃。

T3 是树,感觉有希望,但为了保险,先去看 T4。

T4 发现暴力 dfs() 能打,大概打了 10-20min 搞定。

再思考了一小会,还是没什么思路,就跳去 T3 想题。

T3 耗费了我很长时间,打了 1h 左右的暴力,预计 20pts。

还有 1.5-2h 左右的时间呢,不急,就重新返回 T1 打了个暴力简单对拍了一下。

T2 又想了很久,10min 左右后仍然没思路,T4 同样道理,只好给 dfs() 卡常。

又回到 T3 了,我额外手造了一点数据,好像没问题,就又过掉了。

* 这里是整场比赛最需要反思的地方,因为耗费最长时间打的题目,爆掉就非常惨,后面还会说。

再翻了一遍 T2(注意,T2 我没有任何骗分方法),认为是有机会想出来的,第六感告诉我,代码不长,有机会!!!说这个有屁用啊最后不还是没打出来

感觉都做得差不多了,可考试还剩 1h 呢,闲来无事用 5min 左右加了下快读,并给所有程序都卡了一遍常数(比如,函数前加 inline)。

接下来还能有什么做?思考呗。

这段时间没有任何进展,过程自己也忘掉了。

吸取 CSP-J 的悲惨经验,我仔细检查了所有 freopen()

还有 10-30min,我突然发现 T2 无解输出 \(-1\),于是赶紧骗点分。

为了避免 T2 浪费掉,我又自己猜了几种特殊数据,并特判一下。

再然后又双叒叕检查了 freopen()。因为实在没事做了(放弃

预计得分:\(100 + [0, 10] + [20, 60] + 20 = [140, 190]\)。

实际得分:\(100 + 5 + \color{red}{0}\) \(+\space 20 = 125\)。

呜呜呜,T3 挂成 0pts 了,到现在我还不知道为什么挂了。

Day 1.5

听讲解。

T1 略。

T2 懂了,代码的确很简单,不过这也太难想了吧。第六感正确

T3 不懂。

T4 要微积分,恶心,不懂。

Day 1.8

好好反思了一下,决定根据讲解中的方法进行做题。

每一档分都是有关联的,部分分可以引导你做出正解。

Day 2.0

解压包密码:always wear a mask

T1 是《点 指 兵 兵 点 到 谁 人 做 大 兵》,还挺好玩的(bushi

不淼了,说正题。

T1 一下子就想到了 \(O(T \times n)\) 的解法,10min 内轻松拿到 80pts。

但是 Day2T1 没有 Day1T1 顺利,稍微想了 3min 没有正解的思路。

看T2,显然可以转换成树问题。

我暴力竟然不会打,无奈之下 5-10min 打了两个 special-subtask,20pts 的分数还是可观的。

瞄了一眼 T3 就崩溃:这是 \(\huge \text{大模拟}\) 啊!

怕没时间做,决定只做前几个测试点。

与 Day1 策略一样,我先看 T4。

T4 不就是 dfs() 吗?好像是耶,貌似可以通过此题。

打了 2-5min,突然看到一行字:

为了增加考试的难度,俱乐部提供的机器人的信号接收器都存在问题。
换言之,对于小纯给出的每一条指令,机器人有可能接收到指令并执行,也有可能接收不到指令并保持不动。

突然就明白 dfs() 是不可能淼 T4 的对吧。

啊啊啊啊啊啊啊啊啊啊啊啊x3

然后思考了 1-10s,我想还是可以打 dfs() 的对吧,\(O(2^n)\) 可以过第一档分。

于是打了 30min 代码(不愧是 T4,暴力都要打这么久),终于打完了 10pts 的分。

至此,第一波打完,还剩 2h 有余,我决定尝试 A 掉 T1。

诶,根据 special-subtask 还真被我想到了正解!!!

看见了吧,Day1.9 的反思还是有用的。

T1 20min 多才打完,时间复杂度 \(O(T \times \sqrt{n} \times k)\),\(k\) 较大时,是 \([3000, ?]\) 的一个常数。

因为常数有点大,我输了一下 \(n\) 的最大值 \(2 \times 10^9\),好像挺好的。

不知道算法正确性怎么样(因为反向去重没练过),所以弄出之前的暴力,依次对拍 \(n = [1, 10^6]\) 的数,都没出错,还是很高兴的。

啊,时间还有 1-1.3h,怎么办?

我竟愚蠢地选择了思考 T2 而不是打 T3 部分分。不过这关系不大,事实证明我完全有时间先打 T2 后打 T3。

啊哈,手玩了几组自己造的鬼畜数据,发现一个 dfs() 的 \(O(n)\) 做法,应该是没问题的。然而我不会证明QAQ

我 5-10min 就写完了,由于暴力太难写,我无法验证程序正确性,只能听天由命啦!你个 GDOI 不给大样例烦死了

还剩 1h,用很长的时间给大模拟手打了个表,然后把前两档最简单的分拿了。

剩下的时间,检查一遍所有程序的 freopen(),然后思考 T4 最终没有其他进展了。

预计得分:\(100 + 100 + 10 + 10 = 220\)

实际得分:\(100 + 100 + 10 + 10 = 220\)

欧耶!没挂分!

Day 2.5

T1 做法和我大致相同,不过我没用 unique() 去重而是手动去重,吃了点亏,还好时间复杂度相同。

T2 的证明懂了。

T3 大模拟懂了,前缀和竟然可以 \(O(1)\) 过。

T4 正解 dijkstra 我是真没想到。大致懂了(毕竟我会堆优化+链式前向星dij)。

尾声

总分:\(125 + 220 = 345\) 这分数其实挺低的,一堆 dalao 六百多分。

不过实力基本(又是这个词!)都发挥出来了,所以并不觉得遗憾,特别是 Day2。

还没公布排名,等公布了就加进来吧。
首发:2022-04-20 22:55:06

标签:10,普及,T4,T2,T3,T1,啊啊啊,GDOI2022,游记
From: https://www.cnblogs.com/liangbowen/p/16622851.html

相关文章

  • NOI2022退役游记
    @目录@目录游记部分前言Day0Day1Day2Day3Day4Day5退役感想游记部分前言在当天记录一下每一天,这样也许会真实具体一点,也许最后会删掉。Day0前一天晚上做了一个梦,梦到自......
  • NOI 2022 游记
    Day1挂了。挂了30分,不知道哪里挂的,看完分自闭了没调。Day2又挂了。挂了48分。放平心态调了调,调完更自闭了。T1自然溢出被卡,加个模数就过了。-32T2暴力没判......
  • P2058 [NOIP2016 普及组] 海港
    #[NOIP2016普及组]海港##题目背景NOIP2016普及组T3##题目描述小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。小......
  • 3. [2002年NOIP普及组] 选数
    码学堂洛谷摘要:从n个数里选k个作和,是素数的有多少个分析:这其实是要我们找全排列的无顺序子集、子集:easy,位数改变为k即可无顺序:1.线性函数单调性(虽然看起来很高级但......
  • [2004年NOIP普及组] 火星人
    next_permutation函数将按字母表顺序生成给定序列的下一个较大的排列,直到整个序列为降序为止。prev_permutation函数与之相反,是生成给定序列的上一个较小的排列。这是一个......
  • [2004年NOIP普及组] 火星人
    [2004年NOIP普及组]火星人分析:根据题意,要在题中给出的排列组合的基础上,加上m,形成一个新的排列组合。因为全排列是按照从小到大的顺序进行的,所以我们可以转化为全排列问......
  • [NOIP2002 普及组] 选数
    题目链接:https://www.luogu.com.cn/problem/P1036试题分析:题目要求从n个数中任选k个数相加,求有多少种和为素数的情况。这道题我们运用的主要是深搜,其次还要写一个判断素数......
  • [2002年NOIP普及组] 选数
    一个判断素数的函数另一个函数大体分为:ans=ans+a[n+1];pd(n+1,m+1);ans=ans-a[n+1];//回溯pd(n+1,m);//下一种方案注意:不同组合算不同种#include<bits/stdc++.h>usin......
  • 4. [2001年NOIP普及组] 最大公约数和最小公倍数问题
    题目链接(码学堂,数据弱)题目链接(洛谷,数据极强)摘要:1.P,Q是正整数(unsigned)2.要求P,Q以x0为最大公约数,以y0为最小公倍数.试求:满足条件的所有可能的两个正整数的个数. ......
  • [2015年NOIP普及组] 金币
    #include<iostream>intmain(){intstep=1;intcoin=1;intnow;std::cin>>now;intcount=0;intwalk=0;for(intday=1;day<=now;da......