2017暑假七林集训day15

来源:互联网 发布:nfc写卡器软件 编辑:程序博客网 时间:2024/05/16 12:49

早上

因为zcy学长住的远,所以只要是他讲课考试都是在上午QAQ

拿到题,t1又读不懂题。发现t3昨晚刚好做过,但是估计会调试很久,为了避免出现以前把赌注压到一道题上解过翻车的现象,先把t2的暴力写了在说。t3昨晚 yy了一个单调栈的做法,先处理跨区间的点对,然后再递归搞 区间内部的点对。这个过程中可以用两个单调栈来O(1)做。t3一直调试到了11:00,搞了一会t2搞不出来,时间就到了。

评测。t1没做当然是0啦。t2的暴力没写挂,30分。t3虽然是O(nlog^2n)的,但floj的评测姬跑的比较快还是险过。于是130分,rk3(膜rk1大佬OwenOwl)。


下午

下午zcy学长来讲课了,先是讲题。t1真是为自己的智商捉鸡啊,读懂后,判个环+乘法原理完事(简直就是去签到题)。t2是一道奇特的线段树。由于它的答案并不具有一般线段树的可合并性,但是我们发现它的右子树的答案可以由左子树得到,于是就可以用这个性质进行合并。t3自己写的就不用说了。
今天下午主要讲了三个部分,(高级)冰茶鸡,dfs序,分块(是个好东西),还有就是莫队算法。
冰茶鸡今天讲了三种:
按秩合并冰茶鸡——将元素少的并入元素多的。
带权冰茶鸡——在边中记录值,合并时按一定规律更新。
带撤销的冰茶鸡——字面意思不解释。
dfs序就是dfs一棵树的时候一个点入栈、出栈都记录一次。它有一些优美的性质,比如一棵(子)树总是连续的一段。根据这些性质呢就可以在dfs序上跑线段树啊树状数组什么的。
分块呢就是把[1, n]分成根号n个部分,更新的时候如果区间被完全覆盖就打标记O(1),否则就暴力搞。时间复杂度是O(根号n)(其实就是一个优美的暴力)。
莫队大概就是把存值改成存询问来搞.......(复杂度嘛.......O(玄学,能过就行))

总之,数据结构题数量大,变化多,难想又难调。
原创粉丝点击