集训日记
集训日记
6.22
今天是集训第一天,就考了一次试。线性DP和树形DP的板子很久没有打了,所以第一道题就卡了不少时间。之后的题也不是很顺利,磕磕绊绊,因此在考试结束的时候才做了六道题。
通过这一次的考试,我开始认识到,自己在某些方面的知识上掌握的还不是很透彻。比如这次的第五题麻烦的聚餐,需要用到优化的最长上升子序列,但是我却没有调出来。在之后的学习中,我一定要做到及时整理,把相似的题型总结到一起。
集训刚刚开始,千里之行,始于足下。在接下来的学习过程中,我要把题做熟练,不能出现做过的题做不出来的情况。
6.23
今天是集训的第二天,昨天晚上是一个令人难忘的夜晚。宿舍里蚊子泛滥,因为没有蚊帐的保护,所以我的铺位成了重灾区。在这种条件下,我的睡眠时间只有两个多小时,因此早上精神不是很好,但是对做题影响不大。
今天复习的是区间DP,题目都是做过的原题,感觉状态比昨天有所提升,但是没有达到最好的状态。今天下午把上午的题改完,又把洛谷上关灯那道题做了一下,感觉收获比较大。晚上的时间,我把题解和总结写了一下。
回顾这两天的集训生活,发现了之前自己在家中学习的不足,有些题虽然做过一遍,但是时间长了之后有些细节就把握不到。因此,在之后的学习中,一定要把基础打好,把做法相似的题目总结在一起,比较不同点和相同点,对于一道题,也要考虑它的不同解法和多种变式,这样才会有收获。
6.24
今天是集训的第三天,复习的是状压DP和tarjan。通过做题,我感到自己状压DP方面掌握的不是很好,因此还要加强练习。下午,我把之前的题解写了一下,又做了洛谷的P1042。做这一道题的时候,一开始写循环的时候起点枚举的不对,有两个点一直过不掉。但是,通过自己的调试,最终发现了问题。之后再写状态转移方程的时候一定要注意这个问题。
6.25
今天是集训的第四天。上午考试的内容主要是Tarjan和DP。Tarjan的两道题比较熟练,很快就A了,状压DP的两道题之前都没有做,只写出了疾病管理那一道题。剩下的三道题都是新题,其中第二道题给我的印象比较深刻。一开始定义的状态是\(f[i][j]\)为当前停留在第\(i\)个商店,状态为\(j\)时的最小花费,但是这样要枚举四层循环,会T掉。后来,我又把状态\(f[i][j]\)定义为经过前\(i\)个商店,状态为\(j\),其中第\(i\)个商店必须经过的花费,但是这样只枚举三重循环会WA。我又写了一下对拍,发现会有一种情况没有考虑到,这样又必须再加一重循环,还是会T。考试结束后,看了题解才发现,应该将\(f[i][j]\)定义为经过前\(i\)个商店,状态为\(j\),其中第\(i\)个商店不必须经过的花费,在每一个商店枚举结束后加上\(f[i][j]=min(f[i][j],f[i-1][j]);\)就可以了。之后做DP题的时候还是要注意状态的定义。
6.26
今天迎来了第一次真正意义上的考试。第一题之前做过,方法也很多,但是这一次没有做出来,是一个遗憾。第二题没有思路,写了一个贪心,骗到了一些分。第三题是状压DP,之前没有做过,于是打表得到了50分。第四题的线段树比较显然,拍写挂,又打了一个对拍。总之,这一次考的还算中规中矩。今天下午的时间把考试题改完了,写了一下博客。晚上的效率不高,明天要注意,不能白白浪费一天的时间。
6.27
今天难得有一天的复习时间。就效率而言的话,我还是感觉考试效率会更高一些。但是自由复习可以弥补自己的短板,自由的刷一些题。上午的时间我主要把高精度复习了一下,写了两道状压DP的题。下午,我和邹昂还有董子能一起比赛做题,效率一下提高了不少。和同学一起比赛做题有一种高度的紧张感,思路也运转的很快,尤其是当自己第一个AC题目时,有一种巨大的成就感。在这种氛围下学习,收获非常大。
6.28
今天是集训的第七天。上午的考试发挥的还可以,T1的数据范围很小,直接暴力枚举就可以,但是我只是正着DP了一遍,没有倒着DP,挂了5分。T2是原题,写得比较顺利。T3是一个DP,考试是调试的时间有点长,因为不会打暴力,只好自己手模数据,第一遍写的时候有几处小错误,幸好通过模拟数据查出了错。留给T4的时间还剩半个多小时,一直没有想出合适的解法,只能输出-1
6.29
今天是集训的第八天。上午的考试发挥得不是很好,后三道题没有想到正解,该拿的暴力分也没有拿到,考试时的状态还是有待提升。尤其是第三题,当时只是想到了暴力枚举,而没有想到状压DP,写题时还是不够大胆。今天下午把tarjan和DP又复习了一下,收获还是比较大。明天继续努力。
6.30
今天是集训的第九天。今天的考试题明显比昨天的题可做性更强,然而第二题和第四题还是挂了。我觉得以后考试的时候可以安排一下单人单桌,这样更有考试的感觉。今天下午的时间比较紧张,把哈希表看了一下,又打了一遍树链剖分。想做一下内部题库的题,却发现完全做不动。今天考试题的题解还没有来得及写,明天要抽时间不上。
7.1
今天上午的考试发挥得不是很好,最后一道题送的50分都没有拿到。似乎很久没有考图论题了。下午做了一道树链剖分题,虽然调了很长时间(30分钟+半个晚上,最后发现是函数名打错了),但是最后AC掉真的很兴奋。晚上最后的时间把数论复习了一下。明天打算复习二分图、树链剖分、状压DP。
7.2
今天是集训的第十一天。上午考试的时候T4想到了线段树的做法,但是线段树没有调出来,码力还需加强。晚上的时候把状压DP又复习了一下,发现很多题的思路都是类似的,逐渐找到了做题的方法,趁着明天不考试,要好好总结一下。
7.3
今天是集训的第十二天。因为搬机房没有考试,上午就把状压DP、拓扑排序、最小环写了一下,把快要忘记的知识又重新复习了一边。今天在做状压DP的时候,忽然发现很多状压DP都是同一个套路,于是打算在近期总结一下。下午的时间主要复习了差分约束,总结了一些习题,但是每次差分约束都会被卡时间。晚上复习了k短路算法并成功过掉了一道黑题。
7.4
今天是集训的第十三天。上午的考试第三题状压写挂了,以后还要加强码力。希望老师下一次做数据的时候能认真一点,不要出现11个测试点数据都一样的情况,直接输出样例就能得到55分。
7.5
今天是集训的第十四天。虎哥出的题一如既往地没有思路,只能骗分。T1没有用记忆化搜索,丢掉了30分。T2读错了题,然后就得了90分。T3没有想到用矩阵快速幂求斐波那契数列,打了个暴力。T4直接特判k=1和k=2的情况,水到30分。下午和晚上复习了一下单调队列和矩阵快速幂,明天还要加强练习。
7.6
今天是集训的第十五天。老姚出的题和往常一样有很多DP,然而今天却没有想出正解。最后的三道题加起来才得了30分,还不如专攻一道题。今天最大的问题就是见到一道题后没有充分地利用题目中的条件,只是单纯的去想。比如最后一道题的范围给出了\([-50,50]\)的区间,而且\(n\)也不大,但是我却没有想到直接开一维去记录选到的数。还有倒数第二道题,数的范围很小,质数一共就十多个,可以用状压搞它,这个性质我却没有利用。明天在做题的时候一定要认真分析没一个条件。今天晚上主要复习了归并排序和单调队列优化DP,单调队列还要加强,明天争取写一个总结。
7.7
今天是集训的第十六天。T1是LCA的板子,但是被卡常。T2是分层图最短路,然而写挂了。T3和昨天的题很像,轻松切掉。T4最后剩下的时间不多了,一顿乱搞得到10分。今天没有DP题,几乎全是图论,有一点出乎意料。明天要继续努力,把单调队列和KM算法复习一遍。
7.8
今天是集训的第十七天。T1没有注意到右区间要减1,挂了67分。T2打出表竟然没有发现规律。T3时间复杂度太高直接T掉。T4调了一个多小时,仍然T,不过得到60分还可以。明天一定要提高效率,无论是考试还是练习。
7.9
今天是集训的第十八天。T1显然是加权并查集但是没有把左右端点处理好,T2的DP比较简单,T3是原题,写了双端队列优化的SPFA但是不会快读,T到88分,最后一道题打表得了36分。其实最后一道题的式子不难推,只是当时没有向递推这方面去想。明天一天的复习时间要好好利用。
7.10
今天是集训的第十九天。今天没有考试,是一次难得的复习的机会。上午的时间把并查集、Tarjan、数位DP复习了一下。下午和晚上写了一些DP、矩阵快速幂的题,把左偏树的板子打了一下。希望以后能多有一些总结整理的时间,把基础打牢。
7.11
今天是集训的第二十天。今天上午的考试进入状态比较慢,以后要及时调整。明天就放假了,假期的时间一定要好好利用。