坑_____经验总结
来源:互联网 发布:数组中删除指定元素 编辑:程序博客网 时间:2024/06/05 18:16
不熟的话最好别乱缩行,运算符优先级很坑的……
大致上顺序是这样算术运算
->位运算
->逻辑运算
附上运算符优先级表再次强调,千万注意运算优先级,不行的话打个括号都好 :-)
用数组模拟邻接表时,要是是无向图,注意边要开两倍以上空间。
比赛时千万要记得写文件操作,血的教训……
要是要用到宏定义来简化代码中的重复式子,注意整个式子加个括号(是整个式子加括号,免得程序里面优先级出问题,比如线段树中写成
#define Mid l+r>>1
的话,程序里面实际的Mid+1
就变成l+r>>2了)
,应该写成#define Mid (l+r>>1)
。(位运算优先级比算数运算低,所以会出问题)想在程序中简写变量类型,最好用typedef,用宏定义#define可能会有些小问题,具体例子:
typedef long long LL;
用hash时最好用不常用的质数做模数(千万不要用1000000009这种),比如要是你发现你的QQ号或手机号是质数而且长度也还能接受,那么就可以选它们了。
hash时注意要在合适的地方”%“一下,不然出现负数就 gg 了,也可以考虑用 unsigned long long,它不仅长度够长,而且减到负数的时候会自动帮你模一个数,
好像是2^64吧,就不怕出现负数的错误了。要是想用switch(),记得每个case末尾要写break;
在我看来,打程序时最好分步来打,就是说把整个程序分成几部分,调好这一部分再继续开始打下一部分的程序 (比如对于一个线段树模板题,先写好建树并确保无误后再往后写修改,好了之后再写查询等) ,这样可以有效避免出现那种潇潇洒洒打完一百多行结果编译不过或者死循环,又怎么找都找不出错的情况。
注意各种变量在cstdio中输入输出的关键字
%I64d Linux系统
Windows系统 unsigned long long %llu %llu
%I64u Linux系统
Windows系统 float
double %f
%lf 都用%f %.nf是保留n位小数输出 char %c %c char[] %s %s 字符数组前不用加”&”,比如:
scanf("%s",a)
其中a为一个字符数组(c式字符串)
- 坑_____经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 经验总结
- 个人遇到的win7系统上可以运行,win10奔溃情况
- qcom 亮灭屏代码分析
- Visualizing data with Elasticsearch, Logstash and Kibana
- osg示例解析之osgLight(1)
- JS中getYear()和getFullYear()区别分析
- 坑_____经验总结
- linux日志机制syslogd总结
- php扩展Memcache和Memcached的区别
- linux常用快捷键
- 【ife】任务三十:表单(二)多个表单项的动态校验
- 分享一个运维过程中的用的命令集合
- SQL中的安全问题
- 内存泄露
- jquery 动态加载的元素绑定事件