学习日记21
2017-08-23 20:51
211 查看
今天中午做了一道用树状数组优化的dp题。还用了离散化操作。其实,这道题在我看题解的时候看到过,我一直迟迟不做的原因是,我以为这是那道要用高精度的dp题,想等等再做,网上写的是高精度模板,我会写高精度运算,但不熟练。后来一直在思考一个二维树状数组的题,这道题,是在一个区间内涂色,一共有两种颜色,最后问一个区间内的黑色块的数量,我刚开始根本想不出怎么用树状数组的区间更新区分两种颜色,分奇数偶数根本行不通,后来想起做过的几道暴力题,数据量很小,我再观察这道题,哈哈最大才100万,直接把区间更新暴力为单点更新,这样这道题就没难度了。
后来还做了一道需要比较多数学运算的树状数组题,需要开两个树状数组,分别存放不同的东西,再经过加减乘除运算解决问题。这个比我看的拿到开55个树状数组的题少多了,一般的区间更新都是成段更新,但是有的问题是不连续的更新,但也是有规律的。是每隔k个单位更新一次,这样就可以划分区间进行更新,但只对一个树状数组进行更新。虽然这个地方我理解的还不太好。如此看来树状数组的题型还有好多,我这连基础都没完全掌握,还需要不断努力。
今天其实还看了几道题,但是有的没思路,有的思路不正确,提交时wr,现在大部分容易一些的题都做完了,还剩下的这些,都不能很好的转化为树状数组,要不就是有的题主要不是运用树状数组,只是用树状数组优化而已。今天又学习了不少新内容,希望明天能看懂更多题,并且今天还学习了一点线段树。
总结来看,做题时是需要想以前做的类似的题的经验的,这个类似不只是运用的算法和题型,还有思考的方向,思路,等等。
做题时还需要注意题目的细节,比如样例,很多题目真正要考察的没有写在字面上,而是需要你自己去发现。
后来还做了一道需要比较多数学运算的树状数组题,需要开两个树状数组,分别存放不同的东西,再经过加减乘除运算解决问题。这个比我看的拿到开55个树状数组的题少多了,一般的区间更新都是成段更新,但是有的问题是不连续的更新,但也是有规律的。是每隔k个单位更新一次,这样就可以划分区间进行更新,但只对一个树状数组进行更新。虽然这个地方我理解的还不太好。如此看来树状数组的题型还有好多,我这连基础都没完全掌握,还需要不断努力。
今天其实还看了几道题,但是有的没思路,有的思路不正确,提交时wr,现在大部分容易一些的题都做完了,还剩下的这些,都不能很好的转化为树状数组,要不就是有的题主要不是运用树状数组,只是用树状数组优化而已。今天又学习了不少新内容,希望明天能看懂更多题,并且今天还学习了一点线段树。
总结来看,做题时是需要想以前做的类似的题的经验的,这个类似不只是运用的算法和题型,还有思考的方向,思路,等等。
做题时还需要注意题目的细节,比如样例,很多题目真正要考察的没有写在字面上,而是需要你自己去发现。
相关文章推荐
- 黑马程序员_Java学习日记21_正则表达式
- 黑马程序员_学习日记21_ASP.Net中级
- C#学习日记21----封装 与 访问修饰符
- web前端学习日记21---------极客任务16
- 【笨鸟先飞】Java重新学习日记21--设计模式之模板模式和状态模式简介
- testng学习日记-10/21
- 我的java学习日记(21、22)
- java学习日记_21:面向对象之this关键字的内存示意图。07.09
- Java菜鸟学习日记21
- android学习日记21--消息提示之Toast和Notification
- 深度学习日记(二) 线性代数二
- 学习日记20160901
- 学习日记20160914
- PSO学习日记
- php学习日记3
- java学习日记_12:面向对象之如何使用类
- android学习日记:利用反射调用隐藏API
- Java基础学习总结(21)——数组
- Oracle Osb产品学习日记(1)
- 9月2日学习日记