集训日记
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