zz低错

(1)设的int scanf读入用long long,编译给过,交上WA0,以后最好用终端把warning也看看 ----NOIP模拟8-题

 

(2)qj测试点搞特判,判完没return 0,又继续走了…   ----NOIP模拟12-数颜色

 

(3)数组开到函数间 开小了一直查不出来(找不到)   ----NOIP模拟12-数颜色

 

 (4)线段树二分到l==r后不return,又RE又MLE…    ----NOIP模拟10-模板

 

(5)快读记得判负数,说不定什么时候输入为负嘞 ----NOIP模拟10-模板

 

 (6)int函数记得写返回值,譬如权值线段树merge操作最后的return ro;  ----NOIP模拟10-模板

 

 (7)线段树查询时mid=(tree[ro].l+tree[ro].r)>>1而不是(l+r)>>1你在查询不是改区间大小,所以往下查时左右限制还是l和r;具体见  ----NOIP模拟13-优美序列

 

(8)千万别在数组初始时={0}/={1}…否则编译错误,他会出“Your source code compiled to 16013336 bytes which is too big, too thick, too long for us...”

恩你too big,too think,too long for编译器了    ----NOIP模拟13-矩阵游戏

 

 (9)所有不确定优先级的运算符,一定要带括号

例如:!A%B 如果A%B不加括号,就会计算 (!A )…… % ……( B ) 呵,答案可想而知

 

(10)学到现在多测还不换行,是不是应该挨打

 

(11)并不zz的错误:bitset不能直接取,例如:ans+=pd[i]是不对的,会RE 0

 

(12)分治,二分啊的mid别开全局啊,不知不觉被递归改了,死的不明不白

 

(13)取模别先加再减mod,一边加一边模,有mod时造几组大样例看会出负吗

 

(14)线段树或主席树区间查询,会开两个变量ls1,ls2记录左右儿子的ask,但那个ask并不是左右儿子都会走,而你最后却返回了ls1+ls2

而没走的那个儿子对应的ls即为他的初始值,如果你初始不赋0,那返回值就……(如果出现的值是-∞或+∞可能就是这的错)

 

1 int mid=(l+r)>>1,ls1=0,ls2=0/*就是这*/;
2 if(zuo<=mid) ls1=ask(tree[L].lc,tree[R].lc,zuo,you,l,mid);
3 if(you>mid) ls2=ask(tree[L].rc,tree[R].rc,zuo,you,mid+1,r);
4 return ls1+ls2;

 

(15)求C(2*n,n),记得把阶乘,逆元数组开到2*n+1

 

 

(16)数组开到maxn,千万用到maxn,会发生不可思议的事情,还是开到maxn+1吧

 

(17)dfs暴力也能打错?

  1. dfs前写break/continue千万要小心,看是否把本需要dfs的地方跳过了
  2. 最夸张的是不dfs...走了一遍dfs(1)...完了...

 

(18)数组没开小!!!!!!!爆零两行列!!!!!!!!!!!

   (以上为比我还zz的secret大神警戒自己数组开小了的话,前言不搭后语

   数组要开大啊啊啊啊啊啊啊!!!!!,不是不写前向星就不用开大数组的,况且这道题还应该开到maxn*maxn

   ----csp-s66-传递

 

(19)二分!= break,break只能break掉不成立的情况啊,而二分需要算所有成立情况的ans,

   我只靠找到不成立的解不能算完所有的答案啊…… (完全错还觉得自己能A系列,稍完蛋)

   ----csp-s67-d

   还有对拍,只拍<=20的点,真的可能拍不出错

   嗯嗯,这次考试真的锻炼了考试心态和决策:肝T1错解从7:00肝到9:32,两个半小时,

   其实大概9:00的时候觉得不行就去打了T2的读入(只有读入),想了想就又回T1了,想把它A掉,可最后不仅T1没A,T2,T3都没打完,qj分都没得全

   还有一个小插曲,在试大样例的时候没把qj注掉,满心欢喜以为自己跑过了,(可能是时间太紧,过于紧张的缘故,反而得不偿失啊)

   总之,合理分配时间,最起码先把暴力码完再肝题,觉得自己想到正解一定要证明好了再码,否则就是在纯粹的浪费时间

   最后,粘上自己倒一的悲惨情形以警戒自己吧:与前一个人还差5分呢)  加油吧!

   

(20)最近怎么了,暴力都打不对了,状态急需调整

   for()循环不能改的变量别改,要不就设个临时变量,怎么这也错呢?

   ----csp-s-74-玩具

void find(int pos,ll h,ll add)
{
    if(pos==n)
    {
        mu=(mu+add)%mod; zi=(zi+h*add%mod)%mod;
        return ;
    }
    for(int i=0;i<h;++i)
    {
        num[i+1]++;
                //add=add*num[i]%mod;   
        find(pos+1,h,add*num[i]%mod);
                //我一开始写成了上面那句,这儿的add*num[i]%mod直接写add,(疯了)
            num[i+1]--;
    }
    num[h+1]=1; find(pos+1,h+1,add*num[h]%mod); num[h+1]=0;
}

 

(20)sort的cmp不写return?(压行的锅?哭死……

 

(21)别刚概期题谢谢……你也刚不出来

 

(22)啊啊啊,第一次一个题集合了如此多的zz((地错    哦     zsecretz )不知道前面括号secret都瞎打了些啥系列)低错

   first. 数组下标不能是负的,怎么这还错 ? ? ?

   second. (学习WD)题目有k,但样例里的k是5,所以我的代码里所有应该写k的地方……我都写的5…… (竟然能过样例诶!……有病啊,这人有病吧!)

 

(23)暴搜又一次没调出来:清零问题,需要改的东西就别设全局了,设了记得附回来啊

 

(24)暴搜就是暴搜,2的次方级别只能过暴搜,所以打暴搜就打无脑暴搜吧,尤其是暴搜分还高的时候,先拿分啊

 

(25)留10min检查吧!模拟暴搜也要检查的 (要知道打错变量名,还剩8分钟交卷查出来了,多kx啊)

 

(26)觉得自己要开一个暴搜低错集合了:(暴搜打不对,退役两行泪)

  1. 清零问题,需要改的东西就别设全局了,设了记得附回来啊 

 

 

posted @ 2019-07-27 20:09  itawbm  阅读(188)  评论(0编辑  收藏  举报