Trick:
- \(x\) 与各位数之和模 \(9\) 同余(CF10C)
st
表 和 线段树 可以存gcd
(CF10C)- 注意函数增减性(CF1632D)
dp
时若下标太大,可以调换下标和存储的数值(CF1974E)- 贪心不成立时,可以用反悔贪心(CF1974G)
- 乘法一般比加法更优(CF1872G)
- ‘(‘ 看成 \(+1\),’)’ 看成 \(-1\) (CF1976D)
atan2
可以求角度 (CF257C)- 正难则反(容斥原理)(CF803F)
- 抓住数据的特殊性质(如 \(10^18\) 等极端数据)(CF468C)
- 可以贪心+
dp
(贪心推性质,用dp
做),经典单调队列优化 (CF797F) - 可以先取一个特殊点来做,通过特殊点的特殊性质来解题 (CF1559D2)
- 数据很大时,可以考虑能否缩小范围,后面特殊处理 (CF1956E2)
- 位运算可以在二进制下一位一位考虑。
注意点:
题目部分:
- 数组范围 注意不要开错(记得修改缺省源)。
- 并查集 数组要开 两倍。
- 翻译 看不懂的话要自己翻。
- 题目中 没用的信息 跳过不看。
- 子串 和 子序列 看清楚!
- 排列 有特殊性质。
- 要看 样例解释 。
代码部分:
- 多测 不清空,爆零两行泪。
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 20\) 时,考虑 暴力搜索 或 状压 dp。
- \(n \le 40\) 时,考虑 meet in the middle 或 状压 dp 优化。
- \(n \le 10^2\) 时,考虑 dp。
- \(n \le 10^3\) 时,考虑 暴力枚举。
- \(n \le 10^5\) 时,考虑 贪心 优化 dp。
- \(n \le 10^9\) 时,考虑 二分 和 数学。
- \(n \le 10^{18}\) 时,考虑 数学。
千百度
© 版权声明
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
THE END
暂无评论内容