Trick:
注意点:
题目部门:
- 数组范围 注意不要开错(记得修改缺省源)。
- 并查集 数组要开 两倍。
- 翻译 看不懂的话要本身翻。
- 题目中 没用的信息 跳过不看。
- 子串 和 子序列 看清楚!
- 排列 有特殊性子。
- 要看 样例解释 。
代码部门:
- 多测 不清空,爆零两行泪。
- dp 初始化 不要忘记(最好设成 LONG_LONG_MAX 或 LONG_LONG_MIN!)。
- memset 最好 不要用,复杂度高,容易超时。
- 判断 相称 应是 ==。
- max 和 min 中前后的数据类型要相同。
- 不能随意 开 long long,可能爆空间。
- 看数据范围, 不开 long long 见祖宗!
- long long 也不敷了用 __int128,或手写 高精。
- vector 最好 不要直接排序,复杂度高,可以用 索引 来排序。
- 注意算术优先级(加 括号 )!
- 交互题记得输出后要 清空(fflush(stdout);),并且不要用 ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); 来加速。
- 数组 越界 要特判,好比下标从 \(0\) 开始时 i-1 要特判一下。
- 循环 边界 想清楚再写。
- 图论时的输入有时从下标 \(2\) 开始读入。
- 二分 边界 不要判错。
- 二分时 \(l+r\) 若超出 long long 范围,可以用 \(mid=l+(r-l)/\) 来写。
- cf 的题 不要 写 unordered_map,只能用 map,由于有些大佬卡掉了 unordered_map。
- 提交时记得 删去 调试信息!
- string 类如果写了 s=" "+s; 之类,n=s.size() 应写在前面。
- st表要调用log的 预处理!!
debug 部门:
- 样例输入不了,可能是 Dev-C++ 死机了,可以打开 洛谷在线 IDE 或其他网站来写。
- 如果用了 while(cin>>n) 之类的输入,程序运行无法终止。如果输入的类型是 整数,常用的办法是换行后输入 \ 大概什么 字母,如许输入就会停止了,并且有输出。大概 在循环中特判 \(n\) 为 \(-1\) 时竣事,本身手动输入 \(-1\) 即可。提交时记得 删去。
- 没有输出,可能是死循环了。把 ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); 注释掉,之后在递归里 输出 每次的值。
- dp 值不对,可以将 dp 的表格 打印 出来。
- 如果是交互题,可能是样例本身不是最优。
算法选择:
数据范围:
- \(n \le 10\) 时,思量 暴力搜索 或 状压 dp。
- \(n \le 20\) 时,思量 meet in the middle 或 状压 dp 优化。
- \(n \le 10^2\) 时,思量 dp。
- \(n \le 10^3\) 时,思量 暴力罗列。
- \(n \le 10^5\) 时,思量 贪心。
- \(n \le 10^9\) 时,思量 二分 和 数学。
- \(n \le 10^{18}\) 时,思量 数学。
题目描述:
- 最大值最小(最小值最大):二分、贪心。
- 最大得分和最小得分:贪心、dp。
- 修改、求区间最大值:线段树、前缀和。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |