zoukankan      html  css  js  c++  java
  • 【集训第一天内容】

    概要:对树链剖分进行收尾和小结,挺进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这个题哪门做的?

  • 相关阅读:
    NPOI 菜鸟实践行之根据指定的模板生成Excel 2003格式的文件 (一)
    python循环字典
    对字典中找出最大的值
    通用解决方案:解决NHibernate SELECT 多表查询结果List绑定控件显示问题。
    读取Excel。。。
    哈,申请成功了。
    SharePoint 使用命令行备份过程中中断导致站点没有权限更改问题
    反射
    SharePoint 自定义主机标头与本地计算机名称不匹配,验证失败
    产生一个int数组,长度为100,并向其中随机插入1100,并且不能重复。自己写的算法
  • 原文地址:https://www.cnblogs.com/Paul-Guderian/p/6628570.html
Copyright © 2011-2022 走看看