zoukankan      html  css  js  c++  java
  • [调试笔记] 10.8模拟赛11 T4 甜圈

    这题正解线段树维护哈希,同机房神犇已经讲的很明白了。这里只说sbwzx在调试的时候犯的sb错误。

    1.关于pushdown和update

    众所周知,sbwzx一写带lazy的线段树,就必在pushdown和update上花式写挂。那么这次是怎么写挂的呢?快和小编一起来看看吧。
    挂掉的码:
    ll tree[maxn<<2],lazyp[maxn<<2],lazyadd[maxn<<2];
    void updateadd(int rt,int w){
    	tree[rt]*=w;
    	lazyadd[rt]*=w;
    }
    void updatep(int rt,int l,int r,int w){
    	tree[rt]+=w*(r-l+1);
    	lazyp[rt]+=w;
    }
    void pushdown(int rt,int l,int r){
    	if(lazyadd[rt]!=1){
    		updateadd(rt<<1,lazyadd[rt]);
    		updateadd(rt<<1|1,lazyadd[rt]);
    		lazyadd[rt]=1;
    	}
    	if(lazyp[rt]){
    		int mid=(l+r)>>1;
    		updatep(rt<<1,l,mid,lazyp[rt]);
    		updatep(rt<<1|1,mid+1,r,lazyp[rt]);
    		lazyp[rt]=0;
    	}
    }
    

    神犇yxy一看,直接找出错误:

    ll tree[maxn<<2],lazyp[maxn<<2],lazyadd[maxn<<2];
    void updateadd(ll rt,ll w){
    	tree[rt]*=w;
    	lazyadd[rt]*=w;
    	lazyp[rt]*=w;
    }
    
    众所周知,全hzoi2019除了sbwzx都知道线段树2怎么写。

    2.数据类型不分

    让一个int和一个ull比较,我们sbwzx真是太sb了!
    好了,以上就是sbwzx在调试这道题时犯的全部sb错误了,大家有什么问题可以到评论区回复哦~
  • 相关阅读:
    十大开源CRM
    EL表达式【转】
    zk调用js(转)
    MVC4学习笔记(三) 数据验证设计
    MVC4学习笔记(一) 认识MVC
    MVC4学习笔记(四) MVC界面设计
    hibernate介绍
    如何在oracle中导入dmp数据库文件
    JS的delete操作
    使用JavaScript给Html元素加边框
  • 原文地址:https://www.cnblogs.com/wwcdcpyscc/p/13785964.html
Copyright © 2011-2022 走看看