NOTICE

*******平常写题就认真写题,听着音乐你咋WA的你都不知道QWQ*********************

1.要记得思考特殊情况

2.在有多组数据时,记得检查清空否

3.变量名最好开头大写保险(ming),禁用变量名:

        Time,j0,j1,jn,y0,y1,yn,arg,div,right,ws,dec,hex,oct,exp,polar,real,signal

       记得检查是否使用重复变量名

      【大型憨憨现场:两层for的变量都叫i】

4.静态查错!浮躁是魔鬼!查完再试样例

5.循环队列:写“l≠r”,模数要正确且恰当(不要模整十整百整千,玄学TLE)

6.一场竞赛一场空,不开longlong见祖宗,莫得unsigned要退赛

【注:千万不要想着先写完再改long long,大概率样例还没过就爆了QWQ】

7.减法取模最好先加上模数,还需考虑模数与减数大小关系&建议打包为函数

void M_Sub(int& a,int b){// 定义了引用变量a,使得a的原变量的值被真实改变 
	a=(a+MOD-b)%MOD;//其中MOD为模数 
}

8.for(...;***;...)中***处若调用函数会多次调用,可能造成潜在的莫名耗时

9.分块算法中切勿将块长和块数混为一谈

10.STL中vector默认从0开始

11.二分时,有两种情况:

r=mid,l=mid+1,mid=(l+r)>>1         //(1)

l=mid,r=mid-1,mid=(l+r+1)>>1       //(2)

12.右移运算是向下取整,而整数除法向零取整

13.码代码前确定可行性,想清楚自己要干嘛,思路不行就列大纲!

14.有无自环?有无重边?

15.码代码前想到的边界问题不要允许他在脑中一闪而过,写在纸上好好讨论

16.随时ctrl+s保存代码

17.运算优先级不确定就打括号,别想当然

18.变量声明时考虑是否需要赋初值

19.   

A.lower_bound(x)  //其中A为vector
lower_bound(A.begin(),A.end(),x)

        写法1)比写法2)快得多

20.子函数忌用全局变量(特别是涉及到系统栈的问题)

21.浮点数要用fmax(),fmin()

22.警惕中间量爆int,代码中出现的常数在无特殊转换声明的前提下默认为int,如果一道题目在预判中就发现会爆int,请一定从始至终保持着long long意识,不要想着最后再改回来。

23.

struct node{
	int id,d;
	bool operator< (const node &t)const{
		return t.d<d;
	}
}Temp;
struct node{
	int id,d;
}Temp;
bool operator <(const node &a,const node &b){
	return a.d<b.d;
}

前者比后者更快!

24.没想到啊没想到,==的优先级都高于&

25.采用scanf、printf时,请一定注意占位符和变量类型的一致性,longlong int %lld %d 在这里切不可随意替换,不然可能会出现未知错误!!!!!!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值