本文主要是介绍ACM坑点合集(持续更新),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 数据范围
- 用不用long long / __int128
- 对1左移时最好写成1LL << j,若爆long long,写成__int128(1) << j
- 对mx取max前将mx初始化为答案最小值(不一定是0!!!),对mn取min前初始化为答案最大值(不一定是1e9!!!)
- 如果题目中给了n×m的矩阵,写代码时要分清n和m
- 给定长度为n的数组,值域为1~n,去重后更新n之前用N存值域
- 数组
- 数组大小够不够大,太大会不会MLE
- 下标会不会越界,循环时下标++或 - - 要限定范围
- STL
- 取容器元素之前要判空
- map: if (mp[i]) 这个语句会在mp中加一个(i,0)的键值对(不管语句是否为真),要判断是否得mp.earse(i)(特别是用到mp.lower_bound()的时候)
map<int, int> mp;mp[2] = 1;mp[3] = 0;if(mp[4]) mp[4] = 1;for(auto [x , y] : mp){cout << x << ' ' << y << '\n';}
这篇关于ACM坑点合集(持续更新)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!