trick

瞎逼逼一些自以为的trick:

1.(ll) a*b t ll(a*b)f

2.不需要开ll的就不要开ll

3.lower_bound():<=! upper_bound(<)!

4.对拍.txt改.bat,然后在cmd运行

@echo off
:loop
data.exe //生成数据
right.exe //要对拍的
brute_force.exe //暴力
fc data1.out data2.out //两个程序的输出文件
if not errorlevel 1 goto loop
pause
goto loop

5.除法比乘法慢很多,如果可以预处理不妨预处理倒数,这样每次就可以用乘法了

6.卡常

https://blog.csdn.net/qq_33583069/article/details/53086992

7.dp的优化

状态的定义很重要。滚动数组是个好东西。

8.状态清晰后注意下标。。。。。(卡了一周)

9.int   -2147483648~2147483647  2e9 

long long  9223372036854775807 9e18

10.cin是读到空格就停,getline是读到换行,getchar是EOF

11.低位与高位运算有一个性质,当int与其它类型运算时,没有强制转换的情况下,会转换成int。

12.a==b==c f a==c&&b==c t

 13.匹配两串字符串算长度时,for j,k;不可以并加,因为可能会多出一个;

14.可以用unique来离散化。就是int len = unique(num+1,num+1+n)-num-1;然后再二分什么的。

15.用除法表示数学关系时,转换为乘法。e.g:a/3=b; -> a=b*3

16.‘A’65,‘a’97,'0'48

17arry[++x] = arry[x-1]+1; 这个bug很厉害,在win10下可以过,但在Linux下过不来。因写成++x,arry[x] = arry[x-1]+1;我调这个调了四天。。。。。)绝望

能写朴素就写朴素点!!!!

18.stl有个可以求下个排列(字典序)的函数:next_permutation,还有个求上个排列的函数prev_permutation;(c++福利多)

19.浮点数的运算如果不是卡常,那么一定要用double(没错一直用float的蒟蒻就是我)

20.尽量全局吧,因为来自ccf的神秘力量。。

posted @ 2019-06-09 11:01  Simples2004  阅读(361)  评论(0)    收藏  举报