Attention Points

为了方便复习,在此学习某位不让我透露名字(主要是因为太强了)的同学,有时间将自己集训时所A的题目全部整理起来(从单调队列斜率优化开始吧),并结合这篇"Attention Points"进行查错、深度理解,适当完善这篇博客、发表一些题解,来补充完整自己的知识体系

注:突出字体为需要思考的内容,该板块仅仅为要注意的内容,有待学习内容在主页上

单调队列优化while函数里是head<=tail而斜率优化是head<tail,并且单调队列优化是先进队再出队,而斜率优化是先出队再进队,找时间好好理解!
树链剖分记录节点访问时间应当在DFS2中解决,也就是在路径剖分过后再记录!(错误记录:P2146 [NOI2015]软件包管理器)思考为什么要这么做!
换根(留坑待补,可能要写一篇题解)
  • 注意开数据范围,该开long long开long long,不要总开int(#define int long long)
  • 数组大小要开足
  • 线段树不要开足2的k次方的空间,不然可能会爆空间
斜率优化,如果求最大值为上凸,如果求最小值则为下凸(需要自己再证明一遍)
  • 不要打可能是关键字的英语单词!
  • 写代码时,最优方案考虑,经典例子:NOIP2015提高组 运输计划(卡常卡得厉害,LCA一开始没想到Tarjan后来就懒得把倍增改掉了)(LCA倍增算法用Tarjan+前缀和搞定)
  • 不确定的东西还是用STL吧,例如二分查找:upper_bound(a+1,a+n+1,k)-a以及lower_bound(a+1,a+n+1,k)-a,其中upper_bound查找第一个比k大的,而lower_bound查找第一个大于等于k的,所以减1就是第一个比k小的
  • 当前弧优化大概是假的吧,用不用无所谓。但rest值是否为零一定要判断,可以减少巨量冗余操作。(Dinic算法)
  • 实在没有办法前不要尝试用memset初始化结构体,非常浪费时间;而且使用memset初始化时,一定要积极思考数组的大小范围,不能开太大,不然会影响memset初始化的效率!一定要注意这点,不然对于多组数据很可能会因为初始化的问题导致TLE!(例[POJ3680]Intervals)
  • 暂时二分答案就这么写吧,不然可能会出错

    while(l<=r){
        mid=(l+r)>>1;
        if(judge()){r=mid-1;ans=mid;}
        else l=mid+1;
    }
  • 千万不要再把Dinic算法里的while写成if了!!!因为这个模板题调了1小时......血的教训一定要记住!!!

最大密度子图求方案,关于1.0/n/n的精度问题(详见vjudge[LA3709]Hard Life)
有源有汇(无源无汇)有上下界的可行流(最大/最小流)的相关注意事项(详见vjudge上[UVA1440]Inspection最后一次提交的程序的注释,可写题解。关于Build_NewMap中的流量计算问题还需进一步思考)(无源无汇建模原理要进一步推理,思考)
写网络流模型总结(特别关于某道坑题:[UVA11248]Frequency Hopping,为什么一定要存容量?流量直接从满流减不行吗?好好想一想)
动态区间第K大复习、写题解(最近完善知识体系可能写不了)
[NOI2005]维护数列复习,写题解,好好理解Splay的各种操作与诸多细节处理,对Splay的灵活性有充分的认识,并纠正以前错误的观念,搞懂为什么要这么初始化
  • pushdown时要把能pushdown的数组全写进去,这样不容易错!!
  • 注意在pushdown或update时,要及时判断对应的右孩子和左孩子是否存在(不知道有没有影响,但万一访问到不存在的子节点0出问题呢......所以还是做一下判断吧)
  • LCT里Splay的区间翻转无论对应的区间是否被打上了统一改为一个数的标记,都不可以消除翻转标记。因为LCT中Splay维护的是深度,如果不翻转的话,本来在Makert函数中应当成为根节点的x就无法成为深度最浅的点,也就无法成为根节点了,所以这样的话Makert操作就无法起到其本来应有的作用了。而[NOI2005]维护数列就可以消除翻转标记,因为这题只要对应节点的值在pushdown与update后正确就可以了,不需要管深度什么的。
  • 哦对了,还有一定要注意翻转操作并不一定仅仅翻转右子节点和左子节点,还可能翻转右子节点和左子节点维护的信息(如[SDOI2011]染色中左右子节点所维护的左右端颜色信息(这个在用LCT写的时候要注意一下,树剖的话...似乎没什么大问题)

未完待续......等我又犯制杖的错误再说吧

猜你喜欢

转载自www.cnblogs.com/ForwardFuture/p/9022225.html