2022.7.12 thecold 讲课纪要
前言
上午刚学完平衡树,听学长说下午讲 \(LCT\) ,想了想就我这种蒟蒻平衡树还写不明白就搞 \(LCT\) ,绝对会挂,就打算下午去初中集训班摸摸鱼。
一进去就看见了 thecold 学长,真的好帅啊!!!
后来就开始自我介绍,才知道是一个当年铜牌的巨佬,因为一个小失误遗憾退役。后来也给我们讲了,说他开 unordered_map
给炸了,,,,,
正文
这节课是讲深搜和数据结构,上次学深搜(显然不是thecold讲的)就让做了几个橙题,差评!讲数据结构也是橙题黄题,差评!
thecold 上来就说:"我们来复习一下剪枝"
其他初中选手:“我们学过吗??”
thecold:“我们来看到P1120 小木棍这个题,大家想想怎么剪枝”
突然感觉来的挺值得,这下摸不了鱼了。二话不说赶紧开始想怎么剪枝。后来第一次75,调了调过了。本来是想听听 thecold 讲怎么剪枝的,人家刚把五条列出来,就有傻逼开始哔哔,说什么你那个剪枝重了。他厉害,吊打国赛选手。有这种人严重影响听课质量,就只能自己去写了。
- 剪枝1:只搜索可以被 sum 整除的长度
- 剪枝2:按长度从大到小处理每根木棍
- 剪枝3:木棍的区别只在长度,所以只用木棍a搜索失败后所有同长度木棍可以跳过
- 剪枝4:当前待拼木棍长度为原长且搜索失败可直接退出
- 剪枝5:当前待拼木棍长度等于当前剩余未拼长度且失败
后来 thecold 又开始讲 IDA*
,刚好这块好久没复习了。
但他给一群没学过启发式,没学过迭代加深的讲这玩意儿???
后来就让做例题P2324 [SCOI2005]骑士精神,很久以前学完 IDA* 的时候就想写这个了,但当时自己比较菜,只能做做简单的,当时学的时候估价函数都写不明白。
后来经过n次WA,终于过了。
这个题重点在于估价函数是遍历所有棋子,只要本棋子不在目标位置则将估计步数自增;
然后又讲折半搜索。给了例题P2962 [USACO09NOV]Lights G
看到之后没什么思路,就用高斯消元先处理好再搜索水过的。后来没有什么大思路,thecold 学长的过程如下:
把点分为两个部分——前 n/2 和 后 n/2 ,对于每部分,我们都可以暴力做一遍,之后对于前一半搜索出来的状态,我们可以找到唯一对应的后一半的状态,合并一下更新最优解就好
嗯,之后就回复正常了,讲了几个黄题绿题的栈,队列。
刚以为回复正常,一道CF来了。。。。
thecold:“我们来看CF797F Mice and Holes.”
一眼想到的是暴力dp,后来想起来这节课讲的是队列,就单调队列优化一下,就可以过了。
后来他还想讲CF407E,发现他们都不会线段树,就跳了。
后来找学长交流了一会,就走了。