今天上午看了一下树状数组的一些题目,都看了看,有的还会做,但有的个别难点不好实现。发现遇到树状数组的难题,确实做不了,有的都没有思路,可能是我想错了,不是纯树状数组的题,而是用树状数组的优化的题。看来需要学习还有很多。
下午进行了一个比赛,这一次的题简单是比较简单,但难题也是比较难,我这次终于没有打酱油啊,哈哈,有进步,我做了那个最简单的单调队列的题,然后就开始做第一题的关于二进制的题,我是用的预处理了这些2的所有的次方(在20亿以内的),然后用二分法,慢慢找出所有的1,但是这样超时了,学长说用排列组合。但是也是超时了,后来发现用什么数位dp,这个是真不会,我还做了那个e题,这个题我当时就是想的树状数组,但是学长说可能是背包,我就放弃了,没有写(其实是我懒,那时候快结束了,实在不想写了qaq),剩下的还有二维背包,我只是和队友分析出了要用背包(其实一看,谁都知道用背包),因为我对二位背包不熟,就交给队友了,还有一个简单的区间dp,早就让队友给解决了。幸亏,我没做最后的搜索题,(虽然我自认为搜索做的比较熟练)。但是这个是真超出知识点了。
总结来看,今天的收获,还是比较大的,至少我是这么感觉的,因为我发现,我能力还是有的,虽然还不强,但是让我看到了希望,我不断变强的希望,因为随着不断做题,我读题,理解题意,都有了不小的进步,现在,学过的知识点,要用到,基本都能想到,虽然代码不一定很快就能都敲对。但这也是一种进步了。当然我也发现,有时候,我不熟的算法,我有点不敢写,这应该改正,只有不断挑战自己,才能不断进步,只会做自己熟练的题,是不会有进步的。
以前学的已经过去了,虽然学的不够扎实,但我练习题做的还是不少的,dp题,虽然第二次我没做,但第一次我就刷了很多题。搜索也做了不少(虽然大部分都是水题)。我现在只能在学习新知识的时候,抽空复习一下旧知识,不用做很多题,只需要理解算法核心就好。
希望以后越来越强。