zoukankan      html  css  js  c++  java
  • 坑点总结

    写点坑点总结。

    · 如果是取最大/最小值,初值一定要搞清楚,最好直接赋为 (pm infty),其中 (infty) 也要根据数据规模来定,也不能太大,否则本来可以开 int 非要搞成 long long,造成额外的空间开销。

    · 检查题目先看空间。不能过大也不能过小。过小可以用极限数据来检测,过大可以通过计算来检测。注意计算空间复杂度的时候不能忽略常数因子,开几倍就要乘几倍,栈空间也要包括在内。每次改了空间后都最好重新计算,也可在交卷前20分钟检查。

    · 线段树查询不定区间的时候,一定要保证该区间在下标范围内,不然会有奇怪错误。树状数组不能修改位置 0,不能查询大于位置 n 的值。注意特判。

    · 线段树 tag pushdown 更新顺序:赋值>乘法>加法。(根据标记的影响关系而定,对其他有影响的标记要先 pushdown)

    · 如果答案涉及 long long,一定要检查是否所有中间变量都开了 long long,是否所有中间表达式都不会溢出。

    · Dp 的初始值要想清楚,要穷尽所有初始值,例如树dp的一种状态有当前根节点选或不选,都要考虑。枚举下标转移的时候要保证枚举的状态是合法的,且能够转移到当前状态。

    · 存图图方便就用 vector,但是数据规模大了还是用邻接表,vector 很慢,会造成不必要的常数因子。

    · 最后一点时间检查调试信息删干净没有。

    · 多测一定检查是否所有东西都清空了,几个 for 的事。不要因为评估错误,必须清空的以为不必清空,而造成不必要的丢分。

  • 相关阅读:
    ql语句中left join和inner join中的on与where的区别分析
    C#如何通过属性名称反射出属性本身
    mvc中查询字符串请求过长
    SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
    后台二进制文件 在前台下载方法总结
    C#中try catch finally的执行顺序
    python生成随机密码
    Bridged(桥接模式)
    NAT(地址转换模式)
    TCP协议详解
  • 原文地址:https://www.cnblogs.com/wwlwQWQ/p/15419354.html
Copyright © 2011-2022 走看看