暑假训练了20天,学到了不少新的知识,也学到了做题的策略。
Tarjan:强连通分量
单调队列优化:将O(n2)的时间复杂度变为O(n)
斜率优化:同上
树形DP:将DP放到tree里面
矩阵乘法:把O(n)的递推、循环优化到O(log2n)
LCA:最近公共祖先
高级点的数学:三角函数、相似三角形、圆的方程等(不会)
D1:这天有两道水题,可是怎么只有80分????不过第三题网络流总是被卡,到现在都只有90分。
D2:第一题水题,当场AC,第二题考试时没想法,用哈希离散化+队列AC,第三题逆序对,我用树状数组做的。
D3:居然有5题??开玩笑的吧。再仔细一看,好像有两道题差不多,合并果子,很经典的题啊,果断AC。第一题明显高精度,怎么还打错了?第三题和第二题差不多,也是合并果子,但是是改版的,应该不难。怎么只有10分!原来有个小BUG,十分钟搞定。第五题=第四题题=第二题=合并果子。把程序复制三遍,AK!!
D4:鱼肉炸弹,听说过,但是到现在都没AC,要卡特兰树+树型DP。Find the path只有一个数据,考试时果断放弃。果然,提交的人全部爆0.第三题用类似于floyed的方法。第四题树形DP。
D5:这套题好像做过。老师则换了一套题。树形DP专题。。
D6:又是DP专题,要用到单调队列了,还好不难。
D7:一题爆搜考试时AC,一题坑题,200Byte,考完后5分钟AC。一题扩展欧几里德算法。这三题即好想,代码量又少。但是有一题是铺转问题。要加恶心的矩阵乘法。没打。
D8:今天休息耶!!!
D9:第一题打水,第二题单调队列DP,第三题可以用线段树,非常难打。
D10:今天没比赛耶!!!
D11:第一题前面一大段废话,只用看后面5句话就够。第二题有40分部分分之前做过一模一样的。第三题,DP。
D12:好像并不难,在比赛中全对几乎不可能。但比赛后AK很容易。
D14:前两题很容易改出,第三题非常坑爹,常数巨大,PASCAL被卡,C++很容易过。我是PASCAL。
D15:今天又休息耶!!!
D16:三国专题,不难。
D17:第一题大水。第二题猥琐的线段树,300多行。第三题非常难,数学知识没学过。
D18:第一题水题,第二题很容易改出,第三题矩阵乘法,题目描述中说翔翔(这人名字真。。。)操作的手软,我打程序打的手软还没对。
这么多天的比赛让我受益匪浅。最后几天全打爆搜加水法反而得到了不错的成绩。比赛中许多题很难当场AC。那么水法爆搜就是最容易拿分的方法了。同时也发现了我数学知识不足,无法应对一些提高组中难度很高的题。需要继续改进。