NOI 2024 D类游记

wrkwrkwrk

2024-07-18 18:06:12

Life & Travel

Day -?

省选 182,rk51,报名 D 类的通知出来后本来不报啥希望,但还是报了,结果过了???原来只看 NOIP >=250。

Day -1

坐飞机去重庆,中午到了。真热。

国际象棋棋盘的棋咋少了?

下午和 yrq,pmd等打雀魂开黑,和了大三元。

然后晚上去吃饭,有薯条,拿了。

夜宵感觉没啥好吃的。

Day 0

上午开幕式,dzd的讲话好长。

发密码条,拿到了,但是丢了,-5分,后来被捡到了,然后整个代表队都知道这件事了。

下午试机+笔试,试机题是 NOIP 2023,在 T1 输出了 1 测试了 selfeval,不过为啥没有 excepted xxx, found xxx 的提示了?

笔试开始,全是答案?不过马上就撤回去了。100。有人抄的答案结果98

晚上打雀魂,两个累计役满?不管,睡了。

Day 1

进考场。试题原来还有袋子。

开始了,T2交互。

经过一定的思考,决定先看 T1。

T1 根据霍尔定理(但考场上没有想出这个定理的名字),每一个集合对应的数的个数应当大于等于集合大小,此处一共 7 个可能集合(2^3-1)。当然是双射,所以是双向的。处理出每个集合对应的所有集合,加入时候暴力判断合法性。

然后就是写代码,快写完的时候,意识到这个复杂度并不正确,会被卡掉(卡的数据见下),但是又意识到这个是 OI 赛制,不是对着卡是卡不掉的,于是写完了。

先 WA 2个 TLE 2个,经过修改把 WA 的问题解决,把 map 换成 unordered_map 就 selfeval 100 了。此时是 10:00。

看 T2,第一个测试点经过观察是显然的,第二个测试点先想到一个 8 分的做法,本地过了,交上去 TLE?

忽然意识到交互库是自适应的,所以很可能是交互库 TLE 了。说好最多 3 秒的呢?

然后写出了 11 分的做法,把后面的询问并行化一次解决得到 37 分的做法。

试图尝试换成 3 个一块发现不优,于是去看 T3 去了。此时是 12:00。

T3 O(2^nnm) 显然,A 性质没问题。B 性质 2-sat,但是没时间打了。

估分:[70,100]+52+20。 实际:100+52+20

问了宿舍一圈,都比我高。

顺便地,在查分的时候,把自己T1程序hack了:

#include<bits/stdc++.h>
using namespace std;
signed main(){
    int n=200000,m=600000,q=1;
    cout<<n<<' '<<m<<' '<<q<<'\n';
    for(int i=1;i<=n;i++){
        cout<<"1 2 "<<i+2<<' ';
    }
    cout<<'\n'; 
    for(int i=1;i<=n;i++){
        cout<<"1 2 "<<i+3<<' ';
    }
    cout<<'\n'; 
    cout<<"1 200000";
    return 0;
}

下午讲题,T1哈希,T2混搭,T3缩点。

Day 1.5

去三峡博物馆参观。

Day 2

又一次进考场,考试前去了 WC。

开始,T1数学题?T2T3全是图?

先看T1,找找规律。

打出表,没啥规律,但是看数据范围,直接交,50分。

发现可以修改,于是做到了 70 分。

又发现不用加记忆化,做到了 85 分。

此时是 10:00,没问题,看 t2。

这部分分??没事,先 n^2,写到 11:00。

去想 h_i=0 的性质,发现可以做,但是要 pbds。

用了,但是写到 12:30 写好了,调不出来。

先写 T3,20 分。

最后去调 t2,样例第一行的前几个数是对的,selfeval没过,(后面确实错的)。

结束 85+25+20。查分未动。

咋有个 205 的??150/5 还算正常。

Day 2.5

上午文艺汇演,还行。

听说银牌 409。后来被证实了。

D 类江苏金牌 3 个,但是不是团体总分前八有点。

看样子只有一年机会了。