zoukankan      html  css  js  c++  java
  • 大问题

    • 游荡的奶牛(爆搜):把判断越界的条件写在搜索里面要比单独写一个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()来检查

    • 建子文件夹
    • 计算空间复杂度
  • 相关阅读:
    HDU 3577Fast Arrangement(线段树模板之区间增减更新 区间求和查询)
    POJ 3468 A Simple Problem with Integers(线段树模板之区间增减更新 区间求和查询)
    HDU 1754 I Hate It(线段树之单点更新 区间最值查询)
    CSU 2056 a simple game (正反进行KMP)超级好题!!!
    HihoCoder
    HDU 6318 Swaps and Inversions 思路很巧妙!!!(转换为树状数组或者归并求解逆序数)
    51 Nod 1107 斜率小于0的连线数量 (转换为归并求逆序数或者直接树状数组,超级详细题解!!!)
    POJ 2299 Ultra-QuickSort 求逆序数 (归并或者数状数组)此题为树状数组入门题!!!
    C# DBHelper类 参考
    C#学习之接口
  • 原文地址:https://www.cnblogs.com/lcan/p/9655581.html
Copyright © 2011-2022 走看看