2017暑假七林集训day11
来源:互联网 发布:生活垃圾的数据 编辑:程序博客网 时间:2024/05/16 11:29
上午
今天因为一些特殊原因,考试的时间被调整到了上午。拿到t1,和昨天一样,并没有什么很好的思路,于是去看t2。t2是一个丢蛋的题,然后发现自己连样例都玩不动,跳过看t3。t3有一个挺容易拿的30分做法,果断写了,先避免爆零。倒回去看t2,准备拿n >= 100的部分分(n >= 100相当于无限蛋),结果测评的时候发现手写log蜜汁挂掉。又返回去看t3,写了个(可能能过一些点的)优化,结果交的时候忘了关调试输出,结果连那30分也丢了。t1还是没什么想法,暴力也没写完。
下午
下午听朱昶宇讲课。t1是一道dp。先用n方的时间预处理区间[L, R]是否可选,若可选,就计算这个区间内不同的数的异或和是多少。dp[i]表示前i个数的最大值。转移的话,这个数不选很明显dp[i] = dp[i-1],否则就枚举区间L,用预处理好的值转移。t2是经典题,有名的鹰蛋问题,也是dp,g[i][j]表示用i个蛋摔j次可以试出多少层,于是显然g[i][j] = g[i-1][j-1](破了)+g[i][j-1](没破)+1。这个问题给我们的启发是如果dp中有一维很大存不下就可以把它丢到值里面去(一个很重要的思想)。t3的话,我们发现,对n方个点的询问是无法避免的,时间的浪费主要在枚举每一行/列上。于是我们可以保存每一行/列的最大dp值,直接转移即可。然后接下来的内容是树形dp。树形dp其实是有一些套路的,一般来说都是用儿子/后代来更新父亲/祖先。不过树形dp的代码量和灵活性都比基础dp大,需要多练题才能掌握。学长还讲了DAG上的dp。DAG上的dp与树形差不多。学长还讲了一些经典题。今天感觉很有收获,学习了一些dp的典型方法,自己的能力有一定的提高。
阅读全文
0 0
- 2017暑假七林集训day11
- 2017七林暑假集训day3
- 2017暑假七林集训day4
- 2017暑假七林集训day8
- 2017暑假七林集训day9
- 2017暑假七林集训day10
- 2017暑假七林集训day12
- 2017暑假七林集训day13
- 2017暑假七林集训day14
- 2017暑假七林集训day15
- 2017暑假七林集训day16
- 2017暑假七林集训day17
- 2017暑假七林集训day18
- 2017暑假七林集训day21
- 2017暑假七林集训day22
- 2017暑假七林集训day23
- 2017暑假七林集训day24
- 2017暑假七林集训day25
- Oracle 11g 发行版2 新安装后关于登录的一些基本操作
- 纯正CSS绘制三角形(各种角度)
- photoview简单实现图片放大缩小
- 字符串排列组合问题&递归算法(2)
- Java Annotation最佳入门实践
- 2017暑假七林集训day11
- js 数组和对象的深度拷贝
- js中eval函数对json格式数据的处理
- JavaScript实现继承的方式优化
- 基本图像操作
- Android面试必会
- JVM垃圾回收根搜索的三种算法
- 1.注解@pathvariable的用法
- 初识NodeJS服务端开发(Express+MySQL)