暑假集训考试反思+其它乱写

 

7.20 Sat

 下午返校 回来改题

sdfz的巨佬觉得线上虐人不够爽,所以他们过来了

改T2的时候发现一个问题

如果要用$i$和$i\ xor\ 1$表示相邻的两条边,链式前向星tot初值必须设为1而不是0

然后把考场代码初始化的部分改了两个字符,$0pts->30pts$

***mmp所以我本来应该很顺利的拿到80分 结果因为白痴错误只有20

本来有80分(甚至更高?)的水平,却只有$\frac{1}{4}$的分数,全都是细节问题所致

今后引以为戒吧

 

(P.S.集训真好啊,在张hh眼皮子底下吃雪糕(滑稽))

7.21

上午考拉学长讲课

讲的不多也不难

卡特兰数

Prufer序列

BSGS(Baby step giant step)

线性基

置换群

哎不是我说在座的各位 你们就是没水平

不管你们听懂没听懂

反正我是没听懂

23333

然后垂死挣扎改上次考试T3

又水了几道Catalan数的裸题

发现自己之前分解

(get:流畅地打出高精)

7.22

上午又是喜闻乐见的模拟赛

T1 exgcd 似乎还需要一坨特判 板子依稀记得 先$skip$

T2 哎吗这不原题吗???还改个变量名欲盖弥彰??先不看T3赶紧一发A掉再说

20min后,当我潇洒地敲出$“:wq”$,为$100pts$到手而窃喜时

NC哥面带愤慨,迈着正义的步伐走上讲台 把出了原题这件事告诉了教练

5min后,一道新的T2出现在oj上。

微笑)

新的T2似乎是道很牛批的组合数学,扔掉

瞅了一眼T3发现是大模拟,果断回去刚T1

开始疯狂qj测试点特判,

之后忽然忘了扩欧求出来的是什么解 又观察了半天

还手%规律确定它怎么成为正整数解 强行ans++统计答案

然后$a\ b$有正有负的情况会炸掉 干脆不要了 反正就20分

这时候已经过去快2h了

搞了一下T2 $m+n=T$的情况,强行分解质因数

然后纸上疯狂推柿子

最后剩10min终于有了一个看似正经的思路:

必走合法步为$m+n$,用T减去之后 剩下的枚举走相反方向的步数可以搞出来

最后1min码出来交了

 

80+0+0=80,$rank21/56$,又垫底了

果然T2还是喜闻乐见的爆零了啊hhhhhh

听说T3只要打出来暴力模拟就有60?去你妈的考试策略就没对过

或者剩下的时间想想T1怎么拿剩下分也行啊 干吗去搞这么sb的T2啊

又废物了

7.23

7.24 Wedn

咕了一段时间,最近太忙了。

感觉这两天效率不是很高,所以也不想去写东西分心。

陆续搞了Catalan数、Prufer序列、群论以及几道比较恶心的数学题,

线性基和bsgs看都没看,因为接下来还要刷数据结构。

还有一堆好题没有写题解,一些知识没有总结,

事情多得我无FK说。

(但是打球被虐还是很爽的2333)

明天又要考试,没有正经理由咕咕咕了毕竟考试心得是教练要求的hhh

7.25 Thurs

又废掉了。滚到30多名去了。

看到T1是字符串的时候心里戈登一下,毕竟辣鸡博主字符串和没学差不多。(你问我为什么那个专题A的那么快?你说呢?)

于是滚去看T2。似乎是道Tarjan求割点?

但是这一点也不裸限制很多啊,不是很会做。先糊个暴力。

……

暴力糊崩了,回来想正解。

在纸上比划了半天有了一点思路,应该是要求在1~n路径上的割点?

然后没有细想就开始码,码到一半就卡住了。

因为我根本没有理解Tarjan算法各种功能的本质,再加上码力太弱,所以稍有变通就想不明白打不出来(弱就是弱BB这么多干什么)

于是回去看T1,这时候还剩1个多小时

诶似乎Hash可以$O(n)$水过!

那么问题来了,Hash怎么打来着?

开始现场发明Hash,一边摸索一边打,各种调不对

好在最后还是过了样例,手%几组数据后加了个特判,觉得差不多了。

还有40min,T3一看就是神题,qj一下测试点滚粗了

妄想能够最后逆转乾坤刚出来T2,然而命运永远不会照顾弱者

所以最后打了个树的特判交了

 

于是就被爆踩了,T1人均AC  然额我数组没开够(因为光顾着当发明家忘了看题了)挂了18分。

T2不知道特判哪里打错了没分。到现在还不知道怎么错的hhh

T3无耻苟过了一个点

 

考挂了总是能让人收获很大23333。

首先就是之前知识漏洞太多,hash不会打显然没法接受

另外,考场时间利用效率不高,总感觉前松后紧

一开始脑子都不怎么转,30min后才开始码东西;考试结束前30min基本处于什么都想不出来的状态,莫名慌死。

还有,码力太弱,而且想东西总是想出个大概,不能把细节都考虑明白

这和平时习惯也有关系。

 

真的没时间了,暑假翻不了盘基本联赛退役就没悬念了。

$\mathfrak{Never\ \ Say\ \ Never.}$ 万一蒟蒻还没凉透呢?

 

下午学长讲课,分治使我懵比

7.26 Fri

肝了一天题 虚死。

我为什么第一道点分治就要套Spaly啊我是不是傻

上午化奥返校,某两个世界警察班主任又要回来管这管那

去你妈的我就要在宿舍吃雪糕

不过好在化奥生在此停留的三天不足以让追求卓越坚持不洗澡的他们身上产生一些奇怪气味(只针对部分人

所以忍一忍就过去了

下午恢复了一下荒废多年的羽毛球功力

明天又要考试辣!

7.27 Sat

越发垃圾,可以。

距离非水题正解最近的一次,也是有史以来考得最烂的一次。

为什么总是对题目的难度没有正确估计呢?

为什么那么水的T3给半小时还拿不到50分呢?

为什么距离T2正解就差看起来无关紧要的一步呢?

还是菜,客观原因没有任何意义。

我宁可考一次rank10掉一次倒数,也不想一直晃悠在这个位置啊。

但是前者属于水平很高 发挥不稳的人,后者属于本来就垃圾 靠小技巧苟活的人。

 

好在这次考试思维没有被限制住,很快搞出了T2第一问$O(n)$的做法,并向正解作出了积极的尝试(事实上只差一步)

但是这一切应该放在把T3水过之后再进行,而不是目前没分保底还花大量时间想正确性未知的东西。

 

明天似乎能睡懒觉?然而暑假坚持跑操的卓越化奥生恐怕不会允许我这么做。yingyingying。

7.28 Sun

被一只颓狗催更了。

我写这个明明主要是为了总结考试外加自己娱乐的啊!为什么会被催更啊!麻烦不要这么颓好吗!

 

早上睡懒觉被锁在了宿舍里,yzh大力出奇姬强拆了宿管小屋的纱窗完成密室逃脱,2333。

(真当宿管大爷不玩博客园?)

 

今天似乎又啥也没干?改了考试的变态T1,肝了一道点分治一道CDQ,

然后大部分时间都去搞插头dp辣(虽然现在还没有A题

 

顺便说一句,一排现老第哥发技塞忽术死狗然错真不。

 

还有一堆题解没写,明天又要考试,md我能不能晚上也在机房睡啊

明天化奥生和两只无良教练滚粗离开辣!撒花!真不舍啊555。

 

话说怎么换了css之后黑色就盖不住字了啊我以后还怎么隐晦地diss人啊

7.29 Mon

fread打错了。已经懒得骂街了。

 

T1大暴力就是调不出来有什么办法。

 

已经是条咸鱼了。等死好了。

7.30 Tues

(听课做题咕咕咕)

7.31 Wedn

(又咕了好长时间 拖拖沓沓真爽啊)

昨晚隔壁几个宿舍炸了,可能是得知自己放假不得不留校比较兴奋开心喜悦NB吧

然额我们宿舍仍秉承优良作息传统,一桶泡面下肚就昏死在床上

上午wzz讲后缀数组和回文自动机,万脸懵比(并且成功把队爷搞到崩溃不知如何去讲)

下午糊了一道dp就放假辣

回石家庄撮了一顿烧烤,晚上颓颓颓

(我绝不会告诉你一晚上看6集未闻花名是什么感觉但是你必须清楚面码是我的不接受反驳)

8.1 Thurs

(应教练要求,这篇blog以后只有考试日更新咕咕咕)

下午考试困的要死,醉卧考场君莫笑

T1……这不sb原题吗?桶排水过去好了。

然后我神志不清的大脑就认为本题桶排可以达到$O(26n)$的优秀复杂度

信心满满地觉得自己20minA题真是帅极了

T2好像是一道毒瘤计数,想了半天写不出来dp方程

这不死了吗,肝爆搜肝爆搜

诶样例怎么输出不对啊,输出一下结果看看?

诶没错啊,这样例有毒?

滚去撸T3

什么玩意,暴力模拟都有40分谁还打正解啊

(然额一个白痴模拟都调了我快1h)

回来看T2怎么看怎么觉得样例错了

那就这样叭

 

T1直接T飞?哦对桶排复杂度似乎是$O(\max [n,值域])$

T2果然题意不明……默认左右限制区间外的位置全是0?qnmd

T3模拟稳的一批

 

所以就拿了个大众分滚粗,80分似乎并列了13个人2333

8.5

最近几天没TM状态所以懒得写。

中间又考了场试,依然大众分123。

然后就是今天了。

开题之后看T1觉得是道水题,应该会把不少数据结构学傻的dalao们坑死(像我这种狗屁不会的肯定免疫啊)

然后就肝肝肝肝肝了快一个小时,没思路。甩个暴力滚粗。

T2是什么玩意?大模拟?码就完事了。(确实想不到别的做法啊)

手玩几组样例都过了,我算错的它都没错。弃了。

T3摆明了是数据结构啊,而且暴力效率太低没什么得分期望。

冥思苦想大半年,利用了一下值域也是1到n的特点,搞了一颗线段树查区间最值然后不断重复扩大区域,感觉复杂度还不错?

再次手玩样例,一遍过。woc三道题样例都一遍过我觉得我药丸啊

还剩35min,真的不知道干什么。对拍?三道题都不会写更暴力更稳的做法咋拍啊。

想了一会T1正解,发现自己考试最后30min脑子基本不转。

漫不经心扫了一眼代码,大概没什么问题?(对自己手玩的样例极其自信.jpg)

 

然后就死掉了。比大众分还低。qnmd。

看完分就一直不太高兴,也不是特别难受。主要感觉自己能力真的有限,前几次考炸都是因为考试策略或者心态的问题,但是这次三道题都打了暴力拿了分,而且根本想不出正解,结果还是一样的惨,真的无fuck说。

况且题也不难,T1有11个A掉的还说什么。自己却只能拿个一点技术含量也没有的暴力分。

T2T3都WA了。T2还好吧,就算有错也是模拟大众分。但是T3真的没法接受,考场上还觉得自己的做法至少有$60\%$的分,结果WA16,可能思路本来就错了吧。

 

下午改题,越改越抑郁。T1的题解就是死也看不懂,找了几篇都看不懂,自己推柿子也推不出来,cnm。

那就是水平太菜了呗,脑子不行呗。你把什么考试策略答题方法都改对了改好了也不过是这个成绩,还幻想什么呢?

然后就滚去颓了,随手点开T3的题解:

评测机比较仁慈,所以一些不那么优秀的做法也能水过去……

qnmd。你仁慈我们这边不仁慈。况且我想的做法都不对。

在询问的区间中找到最大值和最小值,因为要连续,所以中间的值全部要取到,接着找所有要取的值里面最大和最小的位置.

woc,有点熟悉?

……可以多次用每次询问出的答案接着询问,直到询问和给出的答案相同……

诶尼码我不就是这么写的吗?

翻出考场代码看了一眼:两个记录答案的变量没清零。

cccccccccc

改掉交上去有60,人丑自带大常数,优化了一下有76。

这么说,我的能力还是不止$rk30$的?(因为发现低错开心的像个煞笔)

一激动T1题解也看明白了 顺手就切掉了23333

放一下考场代码,如果闲的没事可以找一下是哪个变量没清零:

 

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int N=100005;
int read()
{
    int x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
    return x*f;
}
int a[N],n,m,pos[N];
#define ls(k) k<<1
#define rs(k) k<<1|1
int maxx[N<<2],minn[N<<2];
int lasmax,lasmin;
void build(int k,int l,int r)
{
    if(l==r)
    {
        maxx[k]=minn[k]=a[l];
        return ;
    }
    int mid=l+r>>1;
    build(ls(k),l,mid);
    build(rs(k),mid+1,r);
    maxx[k]=max(maxx[ls(k)],maxx[rs(k)]);
    minn[k]=min(minn[ls(k)],minn[rs(k)]);
}
int qmax(int k,int l,int r,int L,int R)
{
    if(L<=l&&R>=r)
    {
        return maxx[k];
    }
    int mid=l+r>>1,res=0;
    if(L<=mid)res=max(res,qmax(ls(k),l,mid,L,R));
    if(R>mid)res=max(res,qmax(rs(k),mid+1,r,L,R));
    return res;
}
int qmin(int k,int l,int r,int L,int R)
{
    if(L<=l&&R>=r)
    {
        return minn[k];
    }
    int mid=l+r>>1,res=0x3f3f3f3f;
    if(L<=mid)res=min(res,qmin(ls(k),l,mid,L,R));
    if(R>mid)res=min(res,qmin(rs(k),mid+1,r,L,R));
    return res;
}
int main()
{
    n=read();
    for(int i=1;i<=n;i++)
        a[i]=read(),pos[a[i]]=i;
    build(1,1,n);
    m=read();
    while(m--)
    {
        int l=read(),r=read();
        if(l==r)
        {
            printf("%d %d\n",l,r);
            continue;
        }
        else if(l==1&&r==n)
        {
            printf("%d %d\n",1,n);
            continue;
        }
        while(1)
        {
            if(l==1&&r==n)break;
            int mmax=qmax(1,1,n,l,r),mmin=qmin(1,1,n,l,r);
            if(mmax==lasmax&&mmin==lasmin)break;
            lasmax=mmax;lasmin=mmin;
            int posmax=0,posmin=0x3f3f3f3f;
            for(int i=mmin;i<=mmax;i++)
            {
                if(pos[i]>r)posmax=max(posmax,pos[i]);
                else if(pos[i]<l)posmin=min(posmin,pos[i]);
                if(posmin==1&&posmax==n)break;
            }
            l=(posmin==0x3f3f3f3f?l:posmin);
            r=(posmax==0?r:posmax);
        }
        printf("%d %d\n",l,r);
    }
    return 0;
}
View Code

 

 

现在想想,其实没必要武断认为自己没有得更多分数的能力。考场上连对拍都没打,而且最后一段时间没有利用好。就算想不出来T1正解又怎样呢?如果能把该拿的分都得全也不比那些A了T1的人差啊。

至于7次考试总rank这些东西,过去的都过去了。哪怕之后所有比赛都像最近三次一样拿大众分,也会比现在的rank高吧。

(心情突然变好.jpg)

 

P.S.删了一些前面没什么价值的口胡(其实是被我藏起来了QAQ)

 

8.12 Mon

上一次更新是8.5?我简直比wmz还能鸽

中间有很多场考试都没有写总结,都考得很垃圾。感觉自己在考场上脑子跟锈了一样,再水的题也A不掉,暴力分都拿不全。

不知道该说些什么,明明对自己的定位越来越低,现实却还是不肯给我喘息的机会。

想想一整个暑假,自己从来没有晚上颓废high到很晚,狼人杀一局也没玩过,来机房从不迟到;但是白天的效率也真心不敢恭维,很难集中精力思考一段时间,经常被周围的事情或者自己突然产生的念头分心。考试老挂,改题做题都不快,题解半天看不懂(真的看进去了吗),这就是我吗?怎么看都像是曾经骄傲的我最鄙视的卑微地挣扎在最底层的人吧?

最近这两次考的还能看吧,起码苟在前20。模拟17T2get到正解细节写挂,T1部分分翻车;今天的模拟18在考试状态极其不佳的情况下爆搜剪枝水过T2,还算是有一些起色。然而从前几次的爆炸到这两次的大众分有什么意义呢?撑过联赛的几率又能增大多少呢?

这两天一直都有人说自己炸了,说自己状态不佳要调整心态,然而我看着那些“炸”也让我望尘莫及的 似乎从心底悲伤至极欲哭无泪的大佬们 又应该作何反应呢?只有苦笑罢了。谁会在意一个原本也就中游的菜比考了几次倒数呢?正如没有人会因为大佬翻了几次车就觉得大佬和自己一个水平了。

 

还有几天暑假集训就结束了。我带着翻盘的flag来,又无力地拖着惨不忍睹的成绩离开,事实残忍得引人发笑,但OI不是文化课,目前的局面我已无力改变。

但未来尚可把握,结局尚未敲定。至少这个句号,我要努力画的漂亮一些。

8.14 Wedn

把这篇blog从头至尾又看了一遍,发现已经从刚开始的欢乐日常变成了致郁负能量向,果然暑假集训就是一个逐渐自闭的过程2333。

13、14号两天连考了三场,感觉自己已经外焦里嫩辽QAQ。这几场还算有值得总结的地方,口胡一下来证明我真的不是鸟类

模拟19:

日常爆炸,rank37。T1复杂度分析错误,连暴力分都没拿全。问题在于想到一个不优的思路就跳不出来,可能考场上思维还是不够活跃。T2读题致死,一直在纠结如果一个正在点菜或者点完菜的人又被传了一份菜单会发生什么,按照出题人的意思好像是会再选一遍菜?(这人sb嘛我哭死)没能从题里抽象出有用的模型,连二分答案都没写ccc。T3爆搜xjb打。

二分答案就没写对过……其实是因为考场上根本没有写过……平时做题从来没有自己看出来过这题是二分答案,都是直接/间接颓了题解才写。废了废了这可布星。

模拟20:

果然熬夜多的人晚上思维比较活跃?rank8还行(被3个sdfz巨佬爆踩)。T1一直在想:这题TM为什么不是爆搜啊?但达哥出题怎么可能送100分呢?最后还是乖乖用爆搜切了这道水题。T2炒鸡棒的题,看到黑块的联通可以想到联通图,块的联通一定只形成简单路径可以想到无环图,之后往图论上想想就可以用无环图联通块个数=点数-边数的结论切掉这题了,糊了个二维前缀和发现对拍没问题就滚去肝T3了。然后推了两页纸公式啥都没推出来,考试结束前20分钟才发现和逆序对有关,只能写个最暴力的东西交上去。100+100+20滚粗。

这次整体来说状态还是不错的,估计到退役也不可能这么快切俩题了2333。就是想T3的时候被题面蛊惑只知道推柿子忘了找规律,其实还是能力不够。

模拟21:

昨天RP用光今天就又炸了QAQ。rank26太菜了叭(其实分没有拉开但是rank5并列了13个人)。这套题非常尴尬,正解都不会,暴力瞎打都能对,区分度就在与T1水题有没有A掉,结果自己只想出一个暴力。其实并查集维护重叠点这个idea还是不错的,但是对于这道题它和最sb的暴力没有区别。一直都在想复杂度如何不带n,最后竟然以为它是个规律题打了40min表,浪费了不少时间。看来打表找出规律这种事毕竟是少数,不能把希望都寄托在这种qjyq上,想正解还是要从题目出发。

 

体活没有了……不打球可以但我想洗澡啊QAQ……

 8.15 Thurs

今天考了一套自闭题。虽说理论上三道题都不可做但是肥周还是怒切T2%%%%

开题看T1。这什么玩意?数论?

看T2。怎么还是数论?跟位运算有关系?

T3。尼码这不还是数论吗?披了张树论的皮?

完蛋。三道题一点思路都没有。暴力似乎都不好打啊……

T2似乎可以搜,但是貌似只有10分?ccc不管了先写为敬,把$2^m$范围内含有相同个数1的数先预处理出来就很好搜了。

码了一会发现题目只要求一组合法解?那TMspj呢?为啥评测方式还是文本比较啊?

找教练问了一下,教练一脸嫌弃地把我赶了回来 并说不用管这些待会就好了。这啥意思啊?看来是有spj的?

那其实搜到一组解直接exit(0)就行了,实际复杂度没那么高,应该能多骗几分。于是试了半天exit()是哪个库里的,幸好还记得cstdlib怎么拼QAQ。

调了半年……还好把sb错误清除后就过了两组样例,看来应该能拿30pts。滚去看T1。

一开始毫无头绪,无意义打了40min表妄图找规律+想了半天已知一个数怎么O(1)求出它的约数个数,唯一分解定理忘光勒(其实把它分解质因数后直接求$\Pi (a_i+1)$就行,$a_i$是每个质因子的次数。但是如果想用这玩意O(1)求还得线性筛,而我又不知道约数个数$d(x)$是积性函数),后来发现自己简直sb:直接$O(\sqrt{n})$暴力求不就完了吗!判良好不良好什么的用树状数组查排名就好了。然后光速码完过了样例,觉得20pts应该稳了。

看了一会T3,完全不可做。puts("0")溜了。

回去想T2正解,然并卵。不过多拿了一个点的部分分。

 

于是就结束了……是不是这次的题又只有我不会做哇QAQ

T1 15,没拿到20应该是暴力算约数个数的锅。

T2 35,暴力+特判很稳。

T3 0。出题人没良心

所以就只有15+35+0=50,凉凉。

打开排名发现并没有辣么凉,居然能拿rank10?虽然分差一般都是5分,不过暴力打满不挂分也算是一种进步吧。

才发现我线性筛只会一个筛素数的板子……滚去学狄利克雷卷积了……

8.16 Fri

日常爆炸QAQ

T1上来先打个爆搜压压惊,看了一眼T2没看懂,T3似乎不是很可做,又滚回来肝T1。

一开始觉得后效性很显然,后来发现多加一维似乎还是可以转移的。于是就开始了漫长的分类讨论(2.5K的辣鸡线性dp感受一下),跟爆搜对拍了半年终于过了,丢下去搞其它两题。写了个暴力滚粗。

出分后发现T1和前桌羊驼哥一起愉快的MLE了,一起怒缩数组后他A掉我WA70QAQ。检查了1h发现取模优化死掉了……

所以rank31凉凉。别人T1状态定义比较恰当的也就30行,我愣生生肝成了手速题。以后还是尽量避免码量弥补思维短板吧,毕竟自己本来码题就比较墨迹。还有就是不要xjb乱开数组,记得算内存鸭!!!

8.17 Sat

又是一套不可做题。考场上码完暴力脑子就没有想什么有意义的东西了,对自己这场考试状态很不满意。虽然混了个能看的rank15吧。

8.18 Sun

分AB组后第一次考试。开了T1发现是裸的Catalan,然额忘了公式,打了个爆搜看出规律后怒淼之。T2显然不能dp,大概是个乱搞题?没什么思路先弃掉叭。

然后看T3,首先看出bfs乱搞肯定要凉,建图是必须的。之后玩了一下样例发现缩点之后就很好做了(然而这时候其实并没有想清楚),直接开始码码码。写了一半的时候发现照题面的数据范围出题人可以随便卡我建图,心里一凉。写完Tarjan之后以为统计答案直接dfs就行,结果疯狂过不了样例,改了各种地方才发现最后这部分是不对的。一看表还有不到40min,这时候脑子已经非常不清醒了,乱改了一下过了样例就交了(并没有发现自己其实改成了暴力求树上最长链==)

还有10min的时候随便码了个T2暴力,后来发现考试竟然延迟结束10min?最后也基本啥也没干,检查了一下调试语句删没删脑子就不动了。

于是100+0+40爆炸QAQ,考完发现T2又没读题,有一个变量根本没用。T3把最后求最长链改成拓扑dp求就A了,出题人根本没有卡我(迫害妄想症.jpg)。

水爆了的题才拿这么几分,退役稳了吧……

posted @ 2019-07-25 12:08  Rorschach_XR  阅读(515)  评论(12编辑  收藏  举报
//雪花飘落效果