• 大问题


    • 游荡的奶牛(爆搜):把判断越界的条件写在搜索里面要比单独写一个check函数再调用要快......
    • 潜伏者(模拟):做模拟时要一个一个条件认真看清楚了,不要遗漏......
    • 清北考试easy(DP):取模有一定的意义,有的时候整个题目在取模意义下,也不是所有数都要取模
    • 清北考试 haha math(暴力分):要计算数组大小,int 可以开5000*5000,但long long double都是8字节的,开5000*5000会超过128M

              以后每次开数组都要计算大小,不论多么熟悉,1024 B(字节)=1KB   1024 KB=1MB

    • USACO浇地 并查集不能 if(find(u)!=find(v)) 要 if(fu!=fv)
    • 换教室(期望,递推):double不能设成0x7f7f7f7f但可以1e8
    • 换教室(期望,递推):要注意设初值时map[i][i]要特别设
    • 激光炸弹(二维前缀和):128M就要小心,两个5000*5000的int数组也会MLE
    • q(暴力):有时暴力的范围太小,再大些也能过,这时可能测试数据中暴力的数据更大些,如果正解打不出,不要if(n<=.....)直接上暴力就可以了
    • 愤怒的小鸟(搜索/状压):double判断精度,不能用==,用fabs(a-b)<1e-8......
    • 愤怒的小鸟(搜索/状压):在用公式的时候,注意不要除以0
    • (图论,DFS)搜到答案的时候如果没有特殊性质,要return
    • term(数论):快速幂不要忘记ret*=a后要取模
    • HH的项链(树状数组,离线处理):node[i]={Node}(l,r,i)如果Node里面有4个值,这样是错误的
    • HH的项链:数组要开大一些,虽然题目给了1e5但可能要开1e6
    • 油滴扩展(模拟,全排列):#define pai 3.1415926不要手抖打错了
    • 油滴扩展:round(ans)有时会返回一个.....e.....加上int  (int)round(ans)就不会有这种情况,floor round返回值都是double
    • 路障(次短路模板):除了要记录每个点的次短路外,还要枚举最短路上的每条边,加上其两倍求最小
    • 火柴排队(思路题,归并排序):在函数内不能定义long long的数组,只可以定义int的数组
    • 种树(思路题 sweet)while(vis[q.top().id]) q.pop();是对的 但while(...) int u=q.top().id;q.pop(); if(vis[u]) continue;是错的

    • 钟浩曦:400w   1s刚刚好
    • DEV (CE):没有引用某一个库,但是编译过了----> 多写库,最后编译代码到别的地方
    • algorithn定义好了 : x1,y1,x2,y2,next 会CE  -->  X1,Y1,X2,Y2  /  后面加个下划线 
    • long long的输出:WIN32:%I64d Linux:%lld WIN64:%lld/%I64d
    • 根据数据范围猜算法:

              1e18 O(1) O(log)
              1e12 O(sqrt(n)) O(sqrt(n)logn)
              1e6 O(n) O(nlogn) 常数小
              1e5 O(nlogn) O(nsqrt(n))
              2e5 5e5 卡常 O(nlog^2n) O(nsqrt(n))
              5e4 O(nsqrt(n)logn)
              1000 n^2
              100 n^3
              22 状压 2^22 400w   //1s刚刚好
              10 O(n!)

    • long doublescanf("%Lf",&x) 不是任何编译器都可用①cin 不一定靠谱② double y scanf("%lf",&y)x=y;输出:存给double 再输出不会损失精度 long double x
    • pow(e,x) pow类型是double 会损失精度 用powl是一个用long double expl logl都是支持long double   pow用来求小数次幂
    • double保存到第几位是向下,而不是四舍五入
    • long long 在WIN32下跑的很慢,不要全文都用long long
    • 数据清0和初始化:memset只能赋一些特别的值:0,-1,0x3f3f3f3f  不能赋1
    • 数组多,每组比较小,每次memset会超时
    • 数组取模等最后单独查
    • 最后删调试信息
    • 能不用double就不用,能用分数就用分数,会卡精度
    • bool 判断是否出现过 但如果爆空间  bitset慢,但省空间
    • set的begin()和end()不能用来检查是否为空,要用empty()来检查

    • 建子文件夹
    • 计算空间复杂度
  • 相关阅读:
    【洛谷P3628】特别行动队
    【洛谷P3233】世界树
    【BZOJ1597】土地购买
    【洛谷P4068】数字配对
    【洛谷P3899】谈笑风生
    【BZOJ2726】任务安排
    【洛谷P6186】[NOI Online 提高组] 冒泡排序
    【洛谷P3369】【模板】普通平衡树
    【UOJ#8】Quine
    标准 插入flash
  • 原文地址:https://www.cnblogs.com/lcan/p/9655581.html
Copyright © 2020-2023  润新知