日记

日记

Sat Nov 23 2024
3 分钟

上午#

今天还™考试,还™和外校的一起考,只有 1010 分,也是没救了
考试链接 题解在此

T1:先猜一个结论:先执行操作 ii 再执行操作 jj ,最终的结果一样。然后写了个暴力验证,第一组样例确实满足,但是,我居然就只测了一组样例,然后就信了,就兴致勃勃的打代码,不出意外,样例都过不了,我就再去试了试这个结论,然后才知道这个结论不对。于是打了一个暴力,又双叒叕过不了样例。一看:输入挂了。调完输入,能过第一个小样例了,但是过不了第二个。又调啊调,还是调不出来,就算了,写T2去了。

T2:先把 x,yx,y 对应的点的初始编号用一个函数写出来,然后每次询问,看这个编号之前的有多少个被删了,加上这个点的初始编号就知道这个点的当前编号了(不知道这个做法是不是假的),然后,问题就是怎么在 O(logn)O(logn) 或者 O(1)O(1) 的时间复杂度里求它之前又多少个编号被删过。我想的字典树(我这想的也是十分无厘头),然后就打出来了,能过样例。但是,提交只有 1010 分,本地测一分没有。死因未知。
吐槽:那些出题人怎么出出来这么水的样例的(不是第一次问了)

T3:打了个暴力,但是,私人 msys2 ,有个函数:__popcount ,在 msys2 里能过编译,但是,在 noi linux 过不了(不是说这种双下划线的 gnu 私货能在 NOI 系列赛事里面用吗)。早知道我就在 noi linux 试一下了。

T4:题都没看

总结: ,我简直愧对智慧之神。

下午#

先听了个清华的招生讲座(我何德何能能听清华的招生讲座啊),四点才回机房。回机房了就讲题,根本没时间看题解。

T1:听了马周大佬的讲解,讲的还是挺详细的。然后登上 donaldqian 的账号(初三oier题解专用账号),看了马周大佬的代码,也是懂了,但总感觉哪里没懂。

先离线,预处理出正常情况下,每次交换交换了哪两个人,在预处理出,查询的每个 u,vu,v 交换了哪两个人,还有正常情况下,每个位置是哪个人。然后,在查询中,如果本来交换的或者改之后交换的和查询的那个人有关,就更改。更具体一点:如果查询的人和原来人有关,就再交换一遍,抵消原来的交换。如果和现在的有关,也交换一遍。

T2&T3&T4:没看,看看周天有没有时间(多半是没有的)