NOIP 2023 游记 || AFO记
【Part 1 | 预备】
11.5 周日 | 准备启动
在机房颓集训了一整天,纠结明天停课的请假条怎么写……
学会了打generals
晚饭后试图打个树剖模版,结果调到9点半还没调出来……
11.6 周一 | 停课 Day 1
好耶,停课了!7点半到机房,上午继续调树剖,终于发现build函数里的pl打成了p……(警钟撅烂)
中午被好奇的同学围观
下午打模拟赛。果然我最菜。
晚上订题,结果又和题解玩了2h的找不同游戏快疯了(在此特别感谢 @Gch738 大佬救我一命!以后再也不沉迷压行了qwq)
感觉一天下来精神已经有点不正常了(?)
好像晚上大家都在颓
11.7 周二 | 停课 Day 2
不颓了不颓了
然而今天似乎跟昨天差不多……
gch玩generals好厉害耶
但是但是但是压行还是好香捏~把树状数组压到一行真的很快乐嘿嘿
放个今天上午切的模版的代码 (我知道很淼)
//P1966 [NOIP2013 提高组] 火柴排队
//树状数组求逆序对
#include<bits/stdc++.h>
#define ll long long
#define v first
#define id second
#define lb (i&-i)
using namespace std;
ll rd()
{
ll f=1,x=0; char c;
while (!isdigit(c=getchar())) if (c=='-') f=-1;
while (isdigit(c)) x=(x<<1)+(x<<3)+(c^48),c=getchar();
return f*x;
}
void wt(ll x)
{
if (x<0) putchar('-'),x=-x;
if (x>9) wt(x/10);
putchar(x%10+'0');
}
const int N=1e5+5,mod=1e8-3;
int n,c[N],as,t[N];
pair<int,int>a[N],b[N];
void update(int i,int d){while (i<=n) t[i]+=d,t[i]%=mod,i+=lb;}
int sum(int i){int s=0; while (i) s+=t[i],s%=mod,i-=lb; return s;}
int main()
{
n=rd();
for (int i=1; i<=n; i++) a[i].v=rd(),a[i].id=i;
for (int i=1; i<=n; i++) b[i].v=rd(),b[i].id=i;
sort(a+1,a+1+n),sort(b+1,b+1+n);
for (int i=1; i<=n; i++) c[a[i].id]=b[i].id;
for (int i=1; i<=n; i++) update(c[i],1),as+=i-sum(c[i]),as%=mod;
wt(as);
return 0;
}
下午:模拟赛A题只打了20分的树的部分分,结果拿了40分(?)B题只会暴力,也拿了40分……(到底什么时候才能上100啊啊啊)
18:46 : 今天一定要学会FHQtreap!!!
18:57 : 发现今天的A题是紫题……让我逝逝把它A掉()
19:36 : 完蛋一到晚上就卷不动怎么办(((
21:33 : FHQtreap调不出来啊啊啊……算了,gch都回家了,明天再调。
11.8 周三 | 停课 Day 3
今日:大吉。宜:玩网游()
上午开新题。然而大联盟的题之前一不小心开过了……没事儿还有xoj的题
10:34 : FHQtreap还是调不出来……发了个求助帖等大佬回复……
11:16 : 好耶!感谢tjr0513大佬的指点,终于过了!
再悄悄放个代码记录一下
//P3369 【模板】普通平衡树
//FHQtreap
#include<bits/stdc++.h>
#define ll long long
#define pt puts("")
#define lu t[u].ls
#define ru t[u].rs
using namespace std;
ll rd()
{
ll f=1,x=0; char c;
while (!isdigit(c=getchar())) if (c=='-') f=-1;
while (isdigit(c)) x=(x<<1)+(x<<3)+(c^48),c=getchar();
return f*x;
}
void wt(ll x)
{
if (x<0) putchar('-'),x=-x;
if (x>9) wt(x/10);
putchar(x%10+'0');
}
const int M=1e6+5; int n,ct,rt;
struct node{int ls,rs,ky,pr,sz;}t[M];
void nw(int x){t[++ct]={0,0,x,rand(),1};}
void up(int u){t[u].sz=t[lu].sz+t[ru].sz+1;}
void sp(int u,int x,int &l,int &r)
{
if(u==0) {l=r=0; return;}
if(t[u].ky<=x) {l=u; sp(ru,x,ru,r);}
else {r=u; sp(lu,x,l,lu);}
up(u);
}
int mg(int l,int r)
{
if(l==0||r==0) return l+r;
if(t[l].pr>t[r].pr) {t[l].rs=mg(t[l].rs,r); up(l); return l;}
else {t[r].ls=mg(l,t[r].ls); up(r); return r;}
}
int kt(int u,int k)
{
if(k==t[lu].sz+1) return u;
if(k<=t[lu].sz) return kt(lu,k);
if(k>t[lu].sz) return kt(ru,k-t[lu].sz-1);
}
void ins(int x)
{
int l,r; sp(rt,x,l,r); nw(x);
int a=mg(l,ct); rt=mg(a,r);
}
void del(int x)
{
int l,r,u; sp(rt,x,l,r); sp(l,x-1,l,u);
u=mg(lu,ru); rt=mg(mg(l,u),r);
}
void rnk(int x)
{
int l,r; sp(rt,x-1,l,r);
wt(t[l].sz+1),pt; rt=mg(l,r);
}
void pre(int x)
{
int l,r; sp(rt,x-1,l,r);
wt(t[kt(l,t[l].sz)].ky),pt; rt=mg(l,r);
}
void suc(int x)
{
int l,r; sp(rt,x,l,r);
wt(t[kt(r,1)].ky),pt; rt=mg(l,r);
}
int main()
{
srand(time(0)); n=rd();
while(n--)
{
int op=rd(),x=rd();
if(op==1) ins(x);
if(op==2) del(x);
if(op==3) rnk(x);
if(op==4) wt(t[kt(rt,x)].ky),pt;
if(op==5) pre(x);
if(op==6) suc(x);
}
return 0;
}
呃……好像放代码容易刷屏,以后不放了不放了(
下午带了耳机边听歌边打题~带感~
15:10 : 终于把昨天A题订好了啊啊啊疯了
发现今天T3是道水题,抢了xoj上的首杀(),顺带发了篇题解。忽然又对自己有信心了(?)
20:22 :又开始了新一轮的疯狂调试……
20:31 :我是傻子
21:30 : 回家了回家了
11.9 周四 | 停课 Day 4
7:30 :今天上午继续开题……
8:26 :赛时摸鱼(忽然发现CCF为啥把出CSP成绩时间推迟了啊啊啊
中午玩generals又被老师抓了……
下午又发了篇题解。
17:04 :看到了Elaina_的评论。真不颓了真不颓了QAQ
今晚flag:1.订题 2.学分块+莫队
18:38 :恭喜gch首杀xojT3!Orz%%%
18:49 :T3这啥玩意啊啊啊难怪我做不出来……(正在试图看懂题解)
19:16 :感谢gch的讲解qwq好像懂了
19:41 :发现自己有必要再学学组合数学和二项式定理(不然T3还是不懂啊啊啊)……分块明天学吧qwq
19:55 :试图数一数目前有必要学的东西:分块、莫队、数论/组合数学/线性代数、字符串相关、网络流、期望DP……啊啊啊学不完了怎么办QAQ
21:35 :回家!
11.10 周五 | 停课 Day 5
怎么这么快一周过去了啊啊啊不行不行再颓就真废了qwq今天不水谷了呜呜呜卷题卷题。。。
真!不!颓!了!
12:36 :达成成就:一上午没水谷()
13:26 :一不小心又颓了1h没关系下午要卷卷卷!
18:03 :晚上恶补矩阵!必须把矩阵优化DP学明白!因为这样才能订C题……(话说这几天都没人做D题欸所以就不订了吧)
18:50 :一入数论深似海,从此脑子是路人……
11.11 周六 | 休息1天
12:40 :昨天学数论学傻了……现在刚起床(
今天应该有空打半场NOIP模拟赛,顺带学学分块(这玩意至少比数论小清新多了……
话说机房里怎么那么多人下周都不来啊喂期中考有这么吸引你们吗……还好还有gch()还是你最好呜呜呜QAQ
明天gch生日耶!!!
11.12 周日 | 停课 Day 7
今天gch生日!今天gch生日!今天gch生日!
有蛋糕吃耶!!!好耶好耶!!!
生贺帖 || 整活帖
最喜欢的一集:
可惜没带手机,拍不了照片()
大概是NOIP前最后的欢乐时光吧……
【Part 2 | 冲刺】
11.13 周一 | 倒计时 5 天
橙名祭 && 打卡101天祭
得到了gch和fyk的认可捏:
天气好冷,手冻僵了敲不动键盘怎么办
10:18 :好耶!机房终于开暖气了~
像往常一样,上午模拟赛,下午订题,又发了篇题解 (所以你打算啥时候学分块)
晚上终于学起了分块~
20:51 :啊啊啊我们的神犇队长ShwStone生病了啊啊啊啊啊怎么办他可是全HGOI的希望啊QAQ
21:10 :他回家休息去了qwq希望快点好
21:21 :感觉分块似乎比我想的更简单
明天学莫队,再复习一下树论和图论,后几天要恶补DP !
11.14 周二 | 倒计时 4 天
进行了一场全真模拟赛~
暴力打满,拿了120pts,希望能有一等
还是太菜qwq
shw没来没人讲题……但是我们还有温柔可爱聪明能干的gch!
今天先打板子,后几天多练DP&&思维题长长脑子~
16:34 :一道题调了一下午…… 为优化本人A题的抽象代码,正在进一步尝试二分套二分(感觉自己已经成了二分魔怔人了写的6篇题解中有2篇是二分)
19:33 :发现不能二分套二分啊啊啊真的调疯了啊啊啊TLE95分是什么鬼啊啊啊()
21:16 :发了个求助帖,还在调……
11.15 周三 | 倒计时 3 天
上午全真模拟T2就我没做出来qwq不过总分比昨天多了4分()
发现shw回了我的帖子!一语惊醒梦中人啊!!!终于找到原因了qwq我是真的傻子
gch模拟赛301分!!!大家一起来膜拜他()
14:26 :一道题调了一天半实在感慨良多 发了篇解题报告
18:54 : 今天发了俩题解~
还有最后2天,却积压了一堆东西没学……试图用2天时间创造奇迹
11.16 周四 | 倒计时 2 天
今天最后一次模拟赛~
shw回来力~
只剩不到2天了qwq不想就这么AFO……
要完蛋了
试图垂死挣扎
真的没想到时间过得这么快……呜啊啊啊gch你真的要AFO吗啊啊啊不要啊这样的话以后在学校还有什么意思啊啊啊QAQ啊啊啊
但是……我真的难以想象,2天后就要可能永远离开这间机房,再也没有机会和熟悉的HGOI的各位一起,打膜你赛,讨论题目,和老师斗智斗勇玩genenrals,边听gch的歌单边打题……
明明才认识几个月,却再也分不开了吗……
我真的不知道啊啊啊
@Gch738 AFO前在干什么?有没有空?可以来拯救吗?
真实地感受到了自己文笔之差,思路清晰却词不达意,尤其没法抒情……
啊啊啊gch再不回我我要死了()
今晚疯狂切题找自信。
打了HGOI最后一局generals(整活局)。
以后一定会很怀念吧……
11.17 周五 | 倒计时 1 天
真的是最后1天了啊啊啊
今天上午10点就要告别这间机房了……
第一次来到这间机房,看见上届已退役的HGOIer留下的有趣的东西,兴奋而期待,仿佛就在昨天;而如今我们也要离开这儿,只留下自己的遗物一堆shi山代码供学弟们凭吊()
只有在快要失去时才懂得珍惜吗……
虽然累,但也很快乐啊,很幸福啊。
话说这段时间停课学OI可能真的学魔怔了,昨晚地铁又坐过站了()
9:04 :还有不到1h,在电脑桌面上给下届HGOIer留了封信
上午还没来得及好好道别就被撵走了(
下午参加学校秋游看了一下午算法书
最后卷一个晚上!
还有一堆东西没学摆烂了
【Part 3 | 启动】
11.18 周六 | NOIP
6:00起床,乘校车出发去杭师大仓前,好困。
gch不乘校车……有点孤单qwq
shw还在擤鼻涕但这应该不影响他AK
车上有点热……
困。
到仓前了,外面好冷……找了个有阳光的地方候场。
gch还没来。
shw在和他认识的人面基。
gch还没来。
wbx来了。
gch还没来。
fyk在打音游。
gch还没来。
要进场了。
gch还没来。
机房里有点闷。
困。
开题。
困。
看了一眼T1,感觉不会。
困。
又看了一回儿,忽然发现……这,这,这好像有点睿智啊……
T1切了。
困。
有点热,有点发晕,不知为何,静不心来思考……
困。
想到了一个月前CSP考场降智的情形……
慌了。
困。
T2感觉不会。
困。
不行啊啊啊啊真的,真的不能就这么放弃啊啊啊啊……
再看会儿T2。
困。
果然还是太菜吗……这样的差距……果然是不可能追回来的啊啊啊……
困。
T2好像有点思路,又好像……好像……不如写一下?
困。
写不出来。
困。
啊啊啊啊啊啊啊啊啊啊啊啊
困。
T2终究只骗了20分……
困。
T3……要不还是先看T4吧……
困。
T4显然DP。
困。
DP……DP……DP怎么好像写假了啊啊啊……这回真要大寄了啊啊啊啊
明明都已经训练了那么久,还是那么菜……
困。
我不要,重蹈CSP的覆辙啊啊啊……
困。
还是看T3吧。
看了好久终于看懂了……
困。
感觉不会。
困。
好绝望。
困。
还剩1h了吗……真的,真的,像做梦一样啊……
困。
那就……骗点特殊性质分吧……
困。
就这样吧。
结束了。
估分100+20+10+8=138,确实,无法改变的事实,我还是最差的那个啊……
恍惚。
困。
出来了,看到HGOI各位熟悉的脸,很亲切,很开心啊……还有……gch来了!
最后一次给大家分了饼干。
gch又不吱一声就走了。
回来的路上一直在睡觉……
困。
再见了,HGOI的各位。
回家,有点难过……
收拾东西,看到赛前老师发的复习提纲。
这个东西……还会有用吗?
翻了会讨论区,更绝望了。
gch还不回我消息。
一切,就这么不完美地……结束了吗……
明明两周前,还是满怀壮志。
而现在,却恍若隔世。
梦落。
【Part 4 | 赛后】
11.19 周日 | 返校
回学校自习,重拾whk。
停课2周,感觉都不太会写字了……
焦虑。
其他同学都在讨论期中考。
是这样的,我是多余的那个。
班上换了位子,不和gch坐一起了……
压死骆驼的最后一根稻草。
为什么会变成这样呢……第一次有了喜欢的学科竞赛。有了能做一辈子朋友的人。两件快乐事情重合在一起。而这两份快乐,又给我带来更多的快乐。得到的,本该是像梦境一般幸福的时间……但是,为什么,会变成这样呢……
11.20 周一 | 正式复课
早上期中考表彰。
当然不会有我。
第一节数学,上对数。过于简单。无聊。
困。
第二节生物,讲期中考卷。与我无关。
困。
还是恍惚。
满脑子都是OI。
困。困。困。
出不去了吗……
小图灵查分,其他人查到的分都比估分高,但只有我……只有120啊啊啊后两题为什么为什么为什么挂0了啊啊啊……
算了,反正早就没希望了。
我只是一颗卷心菜,被包裹在内卷中心,但还是菜。
我曾妄图逆袭,却一次次被周围的人轻松碾压。
两周的集训,换来的只是whk的焦虑。
但我……从未后悔。
至少,我曾经历过梦境一般的幸福。
我还可以……
和以前一样(?)
天天抱着gch送我的虎鲸,
还可以……
天天给gch买零食,
还可以,还可以……
还可以吧……
真的和以前一样吗?
……
不一样了。
真的,结束了。
我短暂的OIer生涯,如梦一般,消逝了。
NOIP那天,我们甚至都没拍张照。
现在想起已经有点不真实了啊……
以后都会忘掉的吧。
梦落,心碎。
事实证明,我只是一名普通的whk选手。
是时候,面对现实了。
11.27 周一 | 出分
不想评价
放在去年甚至有一等
放在今年就是个[数据删除]