比赛总结 1.0
Week1
20241005考试总结
分数:100+0(80)+0+10=110(190)
主要原因:B题重大失误,100->0
更新:数据改后变成80了。
B题本来是想出了正解的,写也是写出来了的,大样例也是过了的(好水),但是零分......
我的转移是从 \(O(n)\) 优化的,所以当时加了个脑抽的剪枝,
也就是当 \(q.size()<k\) 时,才进行更新。赛后仔细想了想,显然有问题,有一些被抛弃的状态是可能成为答案的。然后把更新优化后没有删去这句剪枝,当时就一直感觉它是对的。
赛后删去这句话就过了,我也是真离谱......
很多人D题都拿了45分,但我因为B题花时间太多,没有时间去考虑平方的暴力。
20241006考试总结
分数:60+0+0+10=70
本次考试属于重大失误。好像重大失误的比赛都是第一题被卡,一般情况,要是第一题半个小时内做不出来,我可能整场都会崩,这次也没有例外。
第一题30000的数据实属迷惑,就算是除以3,我也并不认为平方能过,我看它的时间限制值是1s,部分分里又有平方,所以前面的时间我一直在想低于平方的做法。这一重大方向的错误导致浪费我许多时间,接近两个小时过去了,我任然一分都没有打出来,这个时候就已经开始慌了。
两个小时过一会的时候,我决定跳题。就先去把T4的暴力和树的部分打了。T3看着不太好做的样子,最终决定专心搞T2。搞了一下发现最大值较为容易,可以写个st表,调了一会后,也是成功过了40分的数据(然而最后没有)。
这个时候其实就剩40多分钟了,准备写一下T1题的暴力,写了一个三方的,发现可以滚动一维并且能用前缀和优化成平方。当时我认为平方也就80分,而T2的最小值有一点思路,便没有去改了。然而赛后优化成平方就过了,甚至跑的非常快......
本来以前比赛的最后几分钟都会检查低级错误,但这次的最后一只在想T2最小值的做法,又因为太慌了,导致T2出现了史无前例的文件错误。然后就爆了。
主要原因:
1.第一题小常1e8没有准确的确定时间复杂度。导致浪费时间过多,影响整场比赛心态和节奏。
2.心态影响导致紧张,平时都注意的细节被遗漏。
以后想题不要往一个方向死磕,可以尝试不同的方向解决,本场考试的T1是这样的,不应该一只想低于平方的时间复杂度。T2也是这样的,不应该一只想笛卡尔树可以怎么去处理,区间减是可以转化成差分的。还有一点就是考试时一定要保持冷静,不要因为卡题而影响心态。
20241008考试总结
分数:100+0+0+0=100
主要原因:本场比赛T2放构造,一时没想到方法又导致卡崩全场。从赛后视角出发,这场比赛最优策略应该是把能拿的分都拿了,然后去搞我较为擅长的期望T3,T3花点时间应该是可以AC的,应该至少打成 100+60+100+15。
考试中,T1一眼,花了大概二十多分钟。开T2,最开始就没有考虑过来 \(120\) 和 \(log20000\) 的关系,一直认为是根号除以一个常数。一想到可能和分治有关系,按道理说应该想到快排或者归并,但不知道为什么赛上我想到的是基数排序......,因为要分成多个块,所以无论是分裂还是合并都不好做,最终再折腾半天后选择了放弃分裂、合来处理,然而事实上正解就是分裂,只不过只用分两块。
剩下的时间不多了,看了一眼T3,大概想到了设阈值,\(O(n^2)\) 的 \(dp\),但想到期望题不好调,再加上时间不多,决定先把T4暴力打了,在冲冲T2,因为当时感觉T2人均过,做不出来可能会寄(然而想它那么久反而导致我寄了)。本来已经想出来一个用类似最长上升子序列实现的方法,1000以内大概没问题,应该有60分。结果没写完,悲。T4动态空间不知道为什么又MLE,部分分一分没有。
未AC原因:
T2:没想到120次操作的由来,没想到快排。
T3:时间不够,本来应该能过。
T4:时间不够,本来应该也过不了,没有想到拆分算边权。
目前看来,较难场的策略还是有些问题。如果在T2就看到题目较难就不要硬磕一道题了,可以先把能拿的分都拿了,然后决策做哪道题,优先考虑自己擅长的版块,然后是写起来不麻烦的,还有就是分值性价比高的。
20241010考试总结
分数:100+100+15+35=250
排名还行,但确实打得一般般。和第一名分数拉开那么大,和后面的又靠很近。说实话,还是见得题型不够多。像这种难度的比赛,至少应该做出T3。其实最后两道题留的时间也不少,但最终还是没过一个,好不甘啊。
T1树形dp,没啥好说的,一眼。
T2最开始题读错了,想成 \(l<=r<=n\) 看大样例的时候才发现,但还好,与正解差别不是很大,加一点就行了。这也提醒着我们写之前一定要反复确认数据范围、时间复杂度、重要的性质都没没问题,这个题还好,但若是完全错了,又写了很久,就很浪费时间了。题目本身还是比较一眼的。
T1、T2花了大概1.5h左右。然后去看T3、T4,先把T3的暴力写了,有15分,感觉其它性质分没有启发性,决定去开T4。第一眼感觉不难,很像往常 \(CFdiv2\) 的 \(C\) 题,推了一会之后想出了 \(O(n^3)\) 的区间 \(dp\) ,有了35分。然后便走了错误路线,一直在想区间dp能否优化成 \(O(n^2)\) ,区间 \(dp\) 的转移非常简单,但正是因为它很简单,所以更不可能有什么优化,而且就算优化了也只能是 \(O(n^2)\)。但当时脑抽了,认为正解一定需要通过优化区间dp才行,然后就浪费了不少时间...
这时候差不多还剩40min。还打算冲一下T3,感觉没有思路,所以想去搞搞那两个部分分,对于 \(a_i=b_i\%n+1\) 的部分打了 \(n<=18\) 的表,然而并没有发现有什么规律,另外一个部分分就更不好做了。这个时候再去看T4的时候就想到了 \(O(n^2)\) 借助前缀和判的方法,无奈最后没写完。
未AC原因:
T3:想到容斥但没有想到建图这一步,后面的其实都很明显。题见少了。
T4:再给时间说不定能搞出来,但也反映了死咬错解不放的问题。
总体来讲,题见少,别人所说一眼的思路却死活没想到。以后可以多刷刷CF过去比赛的题,同时,对于好的题和技巧可以做总结。现在已近在做了,好题集锦 和 Trick。同时,可以加强一下计数dp和分治(最近出现频率好高)。
20241012考试总结
分数:55+2+0+20=77
难绷。
可能是今天状态不好吧,想题一直无法专注,T1题死想容斥卡了3h,然后没想出来,后面自然就不用说了,寄得很惨。
T1我想的是把条件转化为 \(\forall i、j,a_i\&a_j=0\) 看起来就很容斥,又因为数据范围就16,就一直在想子集枚举的容斥,换了无数种状态,就是搞不出来。数位dp也想到了的,但认为它只是容斥算系数的一部分,就没有深究了。想那么久就一直思路错误,应该及时停下来思考是否有其他更可行的做法。想到后面属实有些崩溃了,思维更是调动不起来,基本属于坐在那个地方,脑子一片空白。看来心态真的很重要,特别是T1卡的时候,还是应该及时调整,不要因为一道题就影响整场比赛。
做后三题时就只剩1h了,且不说时间够不够,我根本就无法把思维完全打开,全是焦虑和紧张。也就只能把最朴素的暴力分拿到,多的性质根本就没分析。T3的暴力还没有注意题目条件0是删除1是保留,20分没了,虽然说97就不写总结,但打还是的烂成渣。感觉当时完全就不在比赛状态。
T4神奇bdfs序,感觉不像是赛上能过的。
未AC原因:
T1:思路错误,陷入死胡同。
T2:时间有限,没能加以思考
T3:时间有限,没能加以思考
T4:时间有限,没能加以思考
这场比赛再次告诉我们做题上头、死磕,每道题都定个时间,时间分配要均匀,而且不要因为一道题做不出来就影响后面的思考,这样只会雪上加霜,应该及时止损,集中注意力去思考。
最近的思维感觉没有以前那么强了,以前常驻前三,但最近已经有3次倒三,好郁闷,也是越学越菜了。为什么呀?反正无论如何,一定要在csp前把状态找回来,这几天看看以前的题,多做一些知识点的总结,找找感觉。
定一个下次比赛目标rk5/220,再下次rk3/250。慢慢稳住,逐渐变强,不要再失误了,也没有时间让我失误了。
即使跌至山谷,我也还会登上那个山顶,像以前一样。
一周小结
这周的比赛可以说是打的一塌糊涂,没有哪一场发挥出我的全部实力。前几场一堆低级错误,甚至文件格式出错,难的几场每场都卡题,简单的签到题不会,难的题更是一道也没有做出来。唉,感觉状态完全不在线。
具体来说,感觉想题的时候思维受到了束缚,把握不住正确方向,往往在一个错误的思路上花过多的时间。这一点一定要改过来,平时做题的时候就应该不断总结题型、举一反三,这样以后看到题就能够知道大方向,不至于偏的离谱。第二就是做题的时候可以多去推导题目的性质,不要只推出一两个就开始考虑该怎么做,应该尽可能多的去获得已知信息,这样正解也会在一步步中浮出水面。第三,除了多积累题型熟悉套路以外,还应该对于未曾遇到过的题型有解决方案,可以是对题目转化,也可以是打表找规律,总之对于那些大众分以外的分也应该拼一拼,说不定就做出来了呢。
比赛策略前面的每场比赛都有总结,具体的就不多说,主要突出的问题是时间多的分配不均,以后需要多加注意
尽管这周比赛打得不尽人意,但我相信,只要我不放弃,我还是能回到之前的高度。
Week2
20241012考试总结
分数:100+0+65+36=201
T2翻车了,要是T2没翻车前三直接稳坐,玉玉。
T1想到考虑合并结果,然后贪心选区间,一眼题。
T2不太好做,最开始一直没能推出什么性质,在想二分图,也想了过操作逆序分析,时间复杂度假了。后面突然就想到了行和列一定会有一个是都需要操作的。其实想到这个性质就会变得好做多了,而且这个性质并不难证,重要的是你能想到。考虑行全操作(列是对称的),选择其中的一列作为基础列,则等于这一列的所有列都可以不用操作。正解就是稍加证明如果把-1提前判掉,则剩下的每列作为基础列都是合法的。赛上没有想那么多,直接是对于每种情况又写了一个判断,用 \(bitset\) 优化可以做到\(O(\frac{n^3}{w})\)。但这题数据特水,手造的我自己又都能过,所以赛上感觉过了,结果0分。错在我加的判断有一点点写挂了,这题又是多测,唉。
T3是个简单题,用一维状态存储第一个集合的结束位置,另一个集合的位置可以用一颗树状数组优化,本质上就是一个二维偏序。赛上想复杂了,把两个数是否可拼接用边存储,则可以得到一颗边集大小为 \(n^2\) 的拓扑图。可以优化建图做到 \(O(nlogn)\) ,但很麻烦,当时觉得没有性价比,就去调T2了。总的来说就是第一步的转化有些多余,明明可以直接用前缀进行转化,非要建图,脑抽了。
T4比较神奇,根号分治能得到92分,但正解和根分压根没关系。首先可以把询问转化为集合中有多少节点的父亲在集合外,然后每次跳可以跳一颗子树,此时时间复杂度就是关于答案线性,加一个倍增优化就行了。
未AC原因:
T2:样例太水,检查不到位,未注意细节。
T3:时间不够。
T4:分析性质不够,第一步转化都没想到。
这场比赛证明了难度不一定是按升序排列,有些时候做出T1,没做出T2的时候可以去看看T3,T4一般不可做。如果T1都没做出来,那这些策略就全都扯淡,难度巨大的场多半只能全打部分分了。
20241018考试总结
分数:100+100+45+0(64?)=245
值得欣慰的是,前两题没有挂分,但可惜T3没搞出来,明明最近练了好几道扫描线问题,结果遇到的还是没做出来。
T1直接每个点连最小的边出去,稍微证了一下,没有问题。结果看大样例,嗯?没有,然后就跳题了。最后还剩1h的时候回来看了看,但是就很怕这道题错了,那就被背刺了。spj还好,但暴力的范围太小了,不想写,所以就自己造数据自己玩,还真让我检查出了一个错误。
T2看了之后感觉和昨天练的B题很想,所以想了想差分约束,不太好延伸,便弃了。考虑贪心,由于昨天的B题是尽可能向前选,所以这道题我们考虑尽可能往上选,然后按深度从大到小考虑,贪心即可,当时也没有信心它能对,所以就写的是 \(O(n^2)\) 的,打开大样例一看,嗯?!都过了,好,很好,接着把它有化到 \(O(nlogn)\),又稍加证明了一下,然后就没问题了。其实对于这种贪心题、构造题,要么就是推性质,把能推的都推,对到最后总是能得到正确做法,这种需要见的套路多,让每一步都不卡壳。要么就是猜,猜了再去证明,这种就需要极强的直觉,说白了也需要见很多套路。
T3一看稳了,最近一直练扫描线的题,这题一看就很板。迅速地写了一个单调队列加主席树的做法,过不了大样例,发现假了,然后剩下的时间我一直在想怎么让它变真,补补改改,最后还是选择了放弃,当时脑袋里异常混乱。赛后一听,感觉好简单,可惜当时没有考虑点的信息,最后只打了一个 \(O(n^2)\) 暴力草草离场。鉴于此题,又开了一个新的栏目 扫描线好题集。
T4捆绑,鉴定为不可过。当时只会 \(O(n^3)\) 的暴力,还没打完。\(O(n^2)\) 和 \(O(n)\) 本身也不难,主要是有几个重要的性质没能发现:
1.对于排开叶子的点是都可以作为根的,所以只用找任意一个点就行了,没有必要傻傻地枚举两个根再来判同构。
2.可以通过找环去找对称点。
3.叶子的度数为2。
这个题捆绑全班零分,输出NO不捆绑64分,不做评价。
未AC原因:
T3:想歪了,导致思路混乱。
T4:时间不够,分析也不够。
T3没能想到区间覆盖用点的信息说明见的套路还是不够,T4说明性质分析一定要到位,不然写着写着就会出问题。
20241019考试总结
分数:25+0+60+20=105
T1做不出来一般就会废,还好这次T3保住了底。T2又是构造,没有想到二分图匹配,难绷。T4照样不可做。
T1能够敏锐的发现k这么小一定是突破口,直接想到的是树上背包,但这道题是求 \(min\) 的 \(max\) 值,所以转移始终有问题,想半天都没想出来。本来也想过二分的,但是当时以为二分的判定和直接dp是一个难度,所以没多久就放弃了。
获得一个知识点:转移形如 \(min(sz_u,k)\times min(szs_v,k)\) 的时间复杂度为 \(O(nk)\)。
T2第一眼看到构造方案我整个人都不好了,直接选择先跳,去看后面的题,最后在尽量把这个题的分拿了。最后再回来看的时候,想出了最小值的构造方案,所以打算把暴力和最小值的分拿了,这里是有45分的,但结果知道最后都没把暴力写完...感觉这道题的暴力也不好写,它的是输出格式太恶心了,建议直接输出终态网格图。
看完题后,感觉T3是最好做的一道题,事实上也是我拿分最多的一道题。\(O(nm^3+2^mm^3)\) 的状压比较显然,花了点功夫,就拿到了60分,后面一直在想能不能优化做法,尝试很久依然没有搞出来,浪费了不少时间。赛后听说这么做优化常数就能够,难绷。正解可以折半,还可以把计算的贡献拆分,可以做到 \(O(nm^2+2^mm^2)\) 还是比较妙的,具体做法放在 一些结论 中。
T4照样不可做,但是可以拿的部分分还是不少的,暴力有20分,3个性质分加起来有45,但无奈时间不够,没能拿到部分分。正解是值域分块,塞上看到数据范围和时限其实大概能猜到是分块。
未AC原因:
T1:缺少了具体尝试,所以对于正解做法一直一直不肯定。
T2:一个比较典的模型没有反应过来。
T3:缺乏卡常技巧,套路见的不够多。
T4:不太好评价,性质分析不到位。
总的来说,这场比赛还应该拿更高的分,首先是T3是能够AC的,有40分,还有就是T2的暴力和部分分,是有45分的,T4也给了很足的部分分,稍加分析也是可以拿到一部分的,T1也还有菊花的15分没有时间调。比赛的时间分布还是要微调一下,对于这种分给的很足的场,还是应该优先尽可能的去拿分。
一周小结
比赛策略上,通过第一场得到的启发是T2和T3之间是可以做一下抉择的,不要卡死在T2上。还有就是一定要预留足够的时间去写暴力,把大家都能拿到的分拿到后,再去尽力拿分,这样至少有一个保底。
做题方面,对于dp或者是很多的常规题,一定不要着急的写代码,先尽力的去推性质,把能找到的都找到,想出来之后也不要直接就开写,先想清楚细节边界,特别要强调的是正确性,不要等写完之后才发现问题,这样非常浪费时间。对于贪心、构造以及那些有决策性的题除了推性质外,还应该大胆地去猜,然后可以用大样例或是对拍来验证,毕竟很多贪心本身的正确性就不能很容易的证明,更谈何正面的去想出来。
心态一直是很重要的,考试的时候不好的心态可能会直接毁掉整场。这是一位2024NOIAu选手写的一段话,值得铭记:
在比赛中,你不应该思考其他人,包括你所认识或熟悉的选手的发挥,不要揣摩 XXX 能不能过这个题,不要揣摩做不出这道题目该怎么办。考场不是给你写回忆录的地方,请尊重你在漫长的训练中换来参加考试的机会。
总之,考试的时候集中注意力,认真想题就好了。
Week3
20241022考试总结
分数:100+100+85+20=305
总挂分25分,T3被卡常15分,T4局部没开LL挂10分。
T1一眼,T2一眼。两题写完才用了大概40多分钟。
T3容斥部分稍微想了一下,但也没花很久时间。调花了一点时间,写的稍微有一点长。赛上优化常数的时候没有看到查找上一行的相同元素竟然用的是二分(代码有点乱),这么说来T了也合理。那部分显然不用二分,预处理、双指针明显都是可以的,当时不知道为什么脑抽了要写二分。
T4的60分想了一会,后面想出来一种 \(O(nlogn\sqrt n)\)的做法,但直到结束都没有写出来,稍微有点麻烦。后面听了正解按k对于序列划分然后再前后缀考虑感觉挺妙的。当时想到了利用长度相同,但是往滑动窗口上去想了,然而减去一个数是无法计算的,所以没想出来。
未AC原因:
T3:写了一个时间较慢的实现,没有仔细考虑。
T4:没有想到思路。思维还是局限了。
这次考试体现提示我们在赛上的一定要自信。其实我最开始先看所有大样例发现名字都是 "A" ,当时以为是放了4道T1,所以就想这场每道题都能做,一定要AK,抱着这样的想法,做T3也是如愿做出。如果这样的感觉,正常情况下会认为自己过不了T3,导致想的时候就会有思维暗示,可能是正解都会被自己否定,也许就过不了T3(当然这次T3确实不难,这还是能感觉到的)。所以做题就先抱着过题的思路去做,没做出来心态也不要炸,及时去止损就行了。
20241024考试总结
分数:100+100+20+30=250
这套题T2没给大样例,而且小样例特别水,题目描述也有点歧义,导致赛上不敢开这道题,选择先去做T4,结果写一个做法花了很多时间,最后还是对不了方案数(而且第一个输出正确没分),做完T2后时间不够,擅长的构造没能搞出来。
T1一眼,16分钟写完。
T2是大概1h多的时候开始做的,前面感觉这道题有点歧义决定先做T4。又仔细阅读多遍题意后,感觉应该是那么做的,结合数据范围和时限,果断想根号分治,实现完大概2h出头。但是这题没有大样例,又写了对拍,结果发现跑的特别慢,大概需要花6s,感觉最多就七八十分,有一点慌,当时先稳了稳心态,然后决定先去写T4的暴力,最后再回来卡常。后面回来卡常也只能卡到5s多,还是感觉过不了,然而最后评测居然过了,看来我自己造的数据还要强一些。
T3就中途抽了一点时间来想,大概想出来了是类似于多米诺骨这种一个推一个的状态,但无奈时间不够,还是没搞出来。最后随机了一种11步的方案,就把输出打了下来,代码11k。
T4第一次看的时候感觉和之前做过的一道状压很像,写了一个状态为 \(3^{15}\) 的做法,记录了叶子,因为是三进制,所以实现比较麻烦,花了不少时间,后面发现计算方案会算重,所以就打算只拿第一个输出的分。第二次来看的时候把暴力写了,性质分感觉麻烦,没写。结果考完发现性质分是完全图,那不就一行输出的事吗?唐了,这30分是不该丢的。
未AC原因:
T3:时间不够,感觉自己有能力过掉。
T4:没想到状态转移怎么去重,套路还是见少了。
总的来说,本场的时间分布不太合理,T4花的时间过多,这提醒我们,对于一个做法十分麻烦或者会花很多时间的做法,写之前应该先分析是否有性价比,可以先去把代码好写的分,大众分拿到,有了保底之后再专心去搞,这样形态也会好一点。还有一点就是读题要仔细,等于、小于等于这些符号要看清。
Week4
20241112考试总结
分数:100+30+100+20=250
没有挂分,开心。这套题差评,T2放个dp套dp没见过,而且还基于随机,导致赛上死活想不出来,T3比较板,T4也比较板,但见少了,技巧不够。
T1折腾了我好久,想了一个错误的做法,写了老长依托。然后写完才发现错误,唐。过了一个半小时,还是没有一点进展,打了一个 \(O(n^3)\) 跑路。
那个时候差不多感觉这场一定打爆了,但又想不如拼一把,万一就成功了呢?事实证明不放弃就会有奇迹产生。看完T2后一脸懵,在我的印象里T2一般都是很套路的题,通过一些条件和数据范围是大概能知道怎么做的,但这次的T2是真的毫无头绪。还能怎么办?乱搞吧。首先口胡答案不会太大,直接找到有效状态就行了,但打开大样例就老实了,显然是存不下的。最后写了一个 \(dp\) 套 \(set\),是有30分的,后面听说换成 \(vector\) 用归并排序是有40分的,唉,怎么没想到呢。
T3总算是遇到熟悉的面孔了,先写了个暴力,发现转移特别规整,考虑过矩阵,但不能实现,想了想扫描线,感觉有点麻烦。又想到了从一个点往两边扩展,发现是可以合并的,或者说一段区间的答案是可以拆分的,然后就自然的想到了cdq,写了一会,有调了一会,总算是过了,最后距离结束还剩一个半小时。
再回去看T1的时候想到了没有必要算出每个人成为冠军的概率,事实上计算对于每一个 \(i\) 算与 \(x\) 在 \(lca\) 的且 \(x\) 获胜的概率,再将每层的和乘起来就是答案,本质上就是算 \(x\) 一层层往上赢。最后也是成功的过掉这个题。
不到最后一刻就永远不要放弃。时间只剩15min的时候,T4的部分分一直没有调出来,当时真的快调崩了,但赶紧调整心态,仔细分析,在最后4min时,总算是给它调过了。
命运是会眷顾努力的人的。
未AC原因:
T2:不会,知识存在漏洞。
T4:技巧积累不够。
20241114考试总结
分数:70+100+0+10=180
不应该丢的分:30+0+15+25=70
这场打得很不好,很多该拿的分没有拿到,像T3这种我的强项竟然没有做出来。这场最大的问题还是时间的分配。
T1属于一个偏结论的题,这种题往往想到了就很快,想不到就会搭进去很多时间,最开始并没有想到从奇偶去考虑,可能花了有1h,仍然没有想出来怎么做,无奈跳题。相比与之前,心态没绷,舍得跳题算是有进步。从大局来看,浪费1h是极不应该的。然而后面回来重看T1时,便有了思路。这提醒着我们,像一些结论题、贪心题这种有某种固定的合法操作的题,如果是一时没有想出来,就应该跳题,隔一会之后再重新来想,因为这种题不一定是投入时间够多就能够做出来的。
其实T1再给我5min就能调出来,一个加法的进位算错了。但我认为不光是时间不够的问题,若是能够一遍就写过那自然是不用再调试,大概是当时时间剩的不多了,导致写代码的时候有点紧张,在写代码的时候还是应该要提高效率,一是加快速度,二是写的时候就认真考虑,保证能够过,这样就可以减少调代码的时间。
T3这种按左端点排序的扫描线的技巧还没有见过,还是得多刷一点类似的扫描线题,经常放在T3或是T4。以前练的比较多的是求最优答案的扫描线,求方案数的还是有一点不熟,主要是容易算重和算漏,看来算方案题也还需要加强
。
未AC原因:
T1:时间不够。
T3:技巧见得不够。
T4:时间不够。
20241116考试总结
分数:100+40+5+10=155
整场考得不好主要是两个原因:早上有一点发低烧,导致思考时一直无法集中注意力,做题受到一定影响。还有就是这场考试的T3T4刚好是我的弱项,\(prufer\)序和二分图,若是T3T4放dp优化,分治,扫描线这种常规的题,应该至少可以做一个。刚好都是我的弱项也是有点倒霉。当然,现在要做的就是把弱项补起来,能不能变为我的强项不好说,但至少不能低于大众水平。
T2感觉自己是对的,然而只有40分,原因是漏考虑一种情况,改一行就可以过。这道题的暴力和正解思路一样,就导致对拍也没有找出错误。此题提醒我们最优值dp一定要考虑完所有可能的方案,同时要保证方案的合法性和兼容性。
本场比赛大部分时间放在T3上面了,对于此类对树计数的问题,直接就想到dp,想过插入性dp、逐层dp和按父亲dp。但是这题是个结论。没做出来的主要原因是对于 \(Prufer\) 序不够熟悉。需要改进的地方,其一, 对于一些弱项板块做整理和总结。其二做题的时候如果一个方法死活也想不出来可以尝试换个方向,虽然说正规考试T3应该不会放结论题,但万一呢?还是不要死磕在一种思路上。
T4暴露的问题是对于二分图模型的不熟,对于每对关系有两个数且每个数可能存在多对关系,还要求最大值时,就应该想到二分图。
未AC原因:
T2:考虑漏情况了,没能检查出来。
T3:结论遗忘,知识点不熟。
T4:技巧没有掌握,题型见得不够。
一周小结
比赛策略大致上没有问题了,主要想强调的是两点问题:
1.比赛最后的时间应该不要急着去写代码,应该去检查,这样能够挽救回来的分更多。
2.要清晰的认识到什么是自己的强项、什么是自己的弱项,在做题的时候,要在多道尚未做的题中做抉择,有可能强项是T3,弱项是T2,在这种情况下,不要因为T2想不出来就心态爆炸,应该,先去做自己擅长的板块,在回过来看不擅长的。
本周的几场考试都采用了跳题的策略,目前看来是没有问题的,适当的跳题可以使天崩开局也转败为胜。
需要改进的一点是及时对于不擅长的板块做个总结,补补知识,做一些强化。
20241119考试总结
分数:100+20+18+0=138
打的不好。T2的计数题依旧没有开出来,T3、T4都是不怎么看的出做法的题。
已经有好几次T2放计数题被卡题了。本题想到了容斥,但是当时想的记录有多少个不合法的位置,但这样设的话连续的一段不合法的方案数就会算错,所以正解的做法应该是记录有多少段不合法的位置。对于这种计数题,我积累的方法还不算多,而且用的也不够熟练,需要更多的练习来强化。
T3的转化很妙,以前见过,但用的不多。这个题的核心就是拆贡献。对于拆贡献,存在很多种方法,比如区间转前缀,数值和转数值个数等。做这种题的要点是不断的去简化问题,通过有效转化,将问题变成可以维护的信息。还需要注意的一点就是在比赛中,处于不利局势的时候一定不要慌乱,尽量高效的调动大脑,认真的去思考问题。这场比赛后面本来是想去做T3的根号分治,但由于剩余题目的得分不理想,导致想的时候也没能十分的投入,时间又浪费了许多。
做T4的时候时间已经不够了,性质分的打错再加上没有时间打暴力导致此题0分。
未AC原因:
T2:最后一步想歪。
T3:这种转化没想到。
T4:时间不够。
整体来说,T2是必须要做出来的,只有T2做出来了才能为后面的题有一个基础的保底。但T2就算是真的没有开出来,也不能就崩了,应该及时跳题,调整心态,争取把T3冲出来。在T2T3都开不出来的情况下,就应该先把暴力打完,然后在认真钻研一个题,就算是过不了,也是可以去尝试拿高分的。
20241121考试总结
分数:100+100+0+15=215
本场导致分数不高的核心原因是T3的思路想歪,从而导致冲正解没有做出来,又导致没有时间去卡T4的做法,也没有时间去写T3的性质分。
T3的核心思路是按层去dp,每次状态记录的是第 \(i\) 个加油站选的编号 \(j\)。然后再枚举第 \(i\) 次的编号和上一次的编号转移,时间复杂度首先得带一个 \(O(n^2)\)。这种技巧在状压里是很常见的,但已经好久没做过类似的题了,完全就没有想到这种思路。对于大多数的常规dp,往往是确定一个顺序,比如从左往右,这样的每一个转态都可以严格的从前面的状态转移过来,这样的dp一般会让你优化到 \(O(n)\) 或是 \(O(nlogn)\) 。考试的时候也想着按一定的顺序去遍历加油站,当时想的是先按同一列(\(x\) 相同)dp,然后在合并不同的列,当时也是想到了那个重要的性质了的。现在来看,在知道这个性质的前提下,如果是想到了那个正确的状态,是能够有60分的。
总结起来,大概有两点问题。第一,对于可以做到 \(O(n^2)\) 的数据范围分析不到位,一直局限于能做到线性的方法。第二,对于dp转态的设计未考虑必要性,有些没有用的信息也做了记录。对于这两点问题,我认为:对于dp题目首先应该分析时间复杂度,然后是考虑必要的转态,优化可以从状态和转移两方面来优化,千万不要想一点写一点,这样既有可能做法假,效率又不高。应该把状态、转移都想清楚了,再开写。
20241126考试总结
分数:100+100+100+0=300
T4少算一种情况小挂20。
这场整体难度不高,就这个T2有点坑,要是没想出来的话,T3还能不能做出来就说不定了。
T1就很一眼,不到二十分钟可能就切了。然后就是T2漫长的推导中,其实T2的难度并没有那么大,毕竟题面将两个重要的限制都写脸上了,把它们结合再搞一下就行了,就算它不难,也花了我一个多小时,看来数学的能力确实不行,以后得多练。
T3最开始理解错题意了,感觉别水,写了一个 \(dp{_i,_j,_{0/1}}\) 表示的就是第 \(i\) 个点选还是不选。写完才发现,它是会重的。由于对于每种情况的图,只有它的最大匹配的方案会算进去,所以它其实是带决策的。所以它不是一个严格的计数问题,不能把每种可能情况考虑进去。然后就想那些情况是属于一类的,就可以发现,在每个点的时候,它最多可以给答案加一,那么对于它的儿子节点,我们只需要记录一些信息看是否可以让当前点贡献加一就行了,然后就做晚了。
T4赛上就想出来了一种单 \(log\) 的做法,但是太难写了,没写完,改写暴力,又因为少写一种情况暴力挂了。
未AC原因:
T4:时间不够。
20241128考试总结
分数:100+100+40+50=290
信心赛打成依托了。T3挂了50,T4会正解没时间写了。
整套题除了T2期望好久没做了调了半天以为,可以说是非常简单的,理想得分应该是390或400。
先说T2。T2最开始是直接硬算的,十分的难写,问题是写完之后根本就调不出第二个样例,这时候大概想了一下,实现中的一部分可以用dp代替,这样可以很大程度的优化代码的复杂程度,其实最开始就应该用dp写的,这提醒我们对于多操作的具延续性的期望或是概率,在可以硬算的情况下,可以先想一想是否可以用dp简单的转移代替,既能减少编码时间,又能减少调试时间。换成dp后,调一会儿就跳出来了,但到第二题做完,已经过去两个半小时了,完全的天崩开局。
这次考试的优点就是在如此的天崩开局下还是能做到心态不崩,先稳住去拿暴力分,然后再一个一个性质突破。
由于T2浪费过多的时间,T3的90分的后60分写的很急,最后的30分都是距离考试 结束不到5min才写完的,所以不出意外的,挂分了。中间的30分漏了一种情况,后面的30分初始化的 \(ans=1\) 并且因为没时间没时间连只有一个问号都没有测试。其实丢分的主要原因与此题关系不大,主要是前面的题浪费了太多不必要的时间。
T4这么简单?没时间写了,亏惨。
本场考试的核心丢分点就是时间不够,对于这点,大概是因为当天晚上睡觉没睡好,一早上起来整个人都是懵的。开T2的时候感觉整个人完全不在状态,想到了就开写,甚至用最粗暴的拆分贡献,这完全就不是我的风格,前两个小时就只拿有T1的100分。到十点多的时候感觉总算是头脑清醒点了,加快写赶紧拿了200多(虽然挂分后没拿到)。所以啊,睡眠好,是一切思维能力发挥好的基础,到正式考试的前一个晚上,早点上床,若实在没睡好,就靠红牛或是咖啡先撑一早上。
未AC原因:
T3:时间不够。
T4:时间不够。
NOIp赛前总结
最后一场模拟赛也结束了,此比赛总结也将告一段落了。希望能在正式到来的NOIp中,发挥出我的全部实力,不留遗憾,不辜负这么多次的总结与练习。
1.最先要强调的就是比赛开始先浏览所以题目。大概知道每个题是什么类型,写出来需要的时间,部分分的多少和其是否具有性价比。了解每个题的基础信息会给你做题的决策提供最优解。
2.在比赛中,放弃一道死活做不出来的题是一种智慧。从往年比赛来看,T1应该不会是特别恶心的东西,先不考虑T1。T2若是卡题很久就要跳了,CSP2023-S就栽在了T2上,千万不要将历史重演。就我自身能力而言,T3是有机会做出来的,所以在T2遇到我的弱项,或是一直挑不出来的情况,是可以考虑冲T3(前提会做很多分)。另一点是跳T3,我个人是不想出现前面所说的T2就不能过的情况,最好是T1T2都顺风顺水,然后在拼尽全力去开T3T4,虽然从模拟赛的情况看T4大概是难于T3的,但还是不能报以畏惧心理,在T3已经穷途末路的时候不要就磕死在T3上,然后考完再抱怨一句“我是有能力做T4的,就怪一直卡在T3上了”,这显然是不对的,考试只有一次机会,追求的是得分的多少而不是过题的多少。所以在每个时刻,都应该做出最优决策,该跳题就跳,不要因为一时倔强而后悔一年。
3.还有就是老生常谈的心态,做的好不要沾沾自喜,做的不好不要崩溃。用最好的状态去迎接题目,是对这一年付出的尊重。
4.额外提一点就是不要想到一半就开写。应该先把流程、具体细节(dp转移、数据结构的下放)想好在开写,这样可以很大程度上的节约时间。

浙公网安备 33010602011771号