【集训第一天内容】

概要:对树链剖分进行收尾和小结,挺进AC自动机(要快,效率要高!)

(一)树链剖分的几个总结:

①【LCA】(bzoj3626

    主要目的就是要优化这道题的时间(思路从暴力算法入手,然后使用数据结构--树链剖分+线段树去优化)。

·正确处理一个关键问题即可突破此题:区间[l,r]与z点之间的关系。【处理不同性质的问题,有一种入手方式是将其转化为同一性质的问题】可以想到一种集合关系:

-------------ANS[L,R]=ANS[1,R]-ANS[1,L-1]-----------

·最后来跑一跑sort(),这也算是一种常用而高效的优化方式了:改变枚举顺序,以达到贪心目的或正确状态。

1


②【2015NOIP运输计划】

·简化问题依旧是做数剖的主要思路,可以把这道题放在线性区间上考虑,那么可以【入点加,出点减大法】,在数剖上进行此操作,就记得在尾++,在头--(由于id反向)。当然,“最大的最小”告诉我们用二分。

image


③【HAOI2015】(bzoj4034)

    DFS序,就是这样。树链剖分可以写,但是没有必要。在入和出的时候予以标记,权值分别为正负,程序格式是这样的,十分清晰:

void dfs(int u)

{

      dfs_array[++k]=u;in[u]=k;value_array[k]=value[u];

      … … … … …

      dfs_array[++k]=u;out[u]=k;value_array[k]=-value[u];

}

为了方便回忆,再来一个举例:

image


题目回忆到此为止。

这是集训第一天,上午课堂很高效,但在下午AC自动机的一道涉及矩阵乘法的题让自己去寻找和理解预备知识“矩阵”就花了很长时间,效率不高(中午睡觉时间有点不够)。这是一个问题:我们对于这种超知识范围的题是否应该深钻?【或许太耗时间而且没有途径系统学习】

这个问题留给张姐来解决。

回首望去常规那边,只剩大米饼了…

 

张姐还在调AC自动机,(她说:我很累)

LENCE在………………

袁YT在做二分题,

王SY在…………………

不要放弃,大不了再给你一个大米饼。

Don’t give up,anyway we can still get a big-riced pancake!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WSY:LCA这个题哪门做的?

posted @ 2017-03-27 20:10  大米饼  阅读(420)  评论(1编辑  收藏  举报