杂项

1、sort函数排序区间左闭右开

2、哈密顿回路为经过所有点的回路。

3、int上限约为21亿,long long约为\(1.8 \times 10^{20}\)

4、较小的元素尽量靠前的方案 = 最大字典序的翻转序列(贪心)

5、标准输入输出中

scanf:float用%f,double用%lf,long double用%Lf

printf:float用%f,double用%f,long double用%Lf

6、[P1024]一元三次方程求解 整理一下里面的思路

7、平面最远点对一定在凸包上(暂时没有计算几何分区,先放这吧)

8、建反图时正反边相邻存储且从2开始,这样就可以用i^1互相访问反边了(暂时没有网络流分区,先放这吧)

9、位运算有关题分位讨论(整理P6102

10、类人群星闪耀时(CSP2022大寄)

11、局部变量记得初始化

12、多测不清空,亲人两行泪

目前中招:

图论:head[],tot

线段树:add,lazy标记

13、SublimeText3取消dinner代码补全:Preferances -> Settings -> 在代码块中加入"auto_complete": false\(\textcolor{red}{,}\)

14、快写中“if(x>9) print(x/10);”不要写成“x>10”

15、Linux在命令行中开大栈空间:ulimit -s xx (可用ulimit -a查询当前栈空间大小)

16、upper_bound与lower_bound的用法,详见STL(注意lower_bound不是字面意思<=,而是>=)

17、以后离散化时少用ref[],在loj会CE(好像是和std重了)

18、本地和评测机不一致:UB(未定义行为)

1、数组越界/数组没清干净导致的未知越界

2、自增语句(a[++n]=read()^a[n-1]中,\(n\)不知道先执行哪个)

19、double类型的判等(==)会有精度误差,建议用\(|x-y|<eps\)来判断(这个就没过(hack))(当然,也不要开得太小(link1 link2))

20、对于整数\(x\)\(-x\)的二进制码即为\(x\)的补码,对于二进制减法\(a-b\),可以转变为\(a+((\neg b)+1)\)操作

21、字符串比较只有当前位相等才用继续下一位比较,注意写法上的缺漏会导致错判

整理gcd矩阵

22、当出现不定组数读入时,用到的类似while(cin>>n)while(~scanf("%d",&n)):

对于cin,istream数据类型已经整好了(正常返回值非0,EOF返回0),直接用即可

对于scanf,是直接返回读入个数或EOF,需要手动判('~'是取反,也可以直接!=EOF

23、double类型限位时会自动四舍五入,而强转int不会,因此可写printf("%.0lf\n",a);cout<<int(a+0.5)<<endl;

posted @ 2024-10-31 17:16  Zhone_lb  阅读(32)  评论(0)    收藏  举报