Skip to content

Latest commit

 

History

History
executable file
·
36 lines (32 loc) · 3.17 KB

Notice.md

File metadata and controls

executable file
·
36 lines (32 loc) · 3.17 KB

奇奇怪怪的东西

奇奇怪怪的东西

  1. 贪心如果拿不定可以两种情况取小 二次排序注意$id$
  2. 树上差分统计每条边经过次数 不同方向不同差分数组 下标不要用错
  3. 让所有点两两联通 $\rightarrow$ 最小生成树 超源超汇思想
  4. 补图最小生成树 set维护当前还不在最小生成树上的点集。或者根号分治
  5. 超源求所有点到某一点的最短路
  6. 推公式 然后数据结构维护 把相同元素放到等号一边
  7. 带权中位数 效仿普通中位数 线段树树上二分维护
  8. 当某个限定值比较小的时候 建立多颗线段树
  9. 拓扑转移 注意单调性
  10. 注意题干中的细节条件 尤其范围 别读错题了0.0
  11. 莫队离线可以维护很牛逼的东西
  12. 数据随机 有很好的性质 比如暴力下放不会被卡(下放的次数不会太多) 如果离线之后按权值排序,可以将区间修改转化为区间赋值
  13. $2$倍转化为$log$
  14. 线段树/主席树维护哈希
  15. 离线+带撤销并查集
  16. 权值线段树离线求$mex$ 在线则主席树
  17. 如果发现答案很容易$judge$的时候,可以考虑二分 二分思想
  18. 求一系列点里斜率最大的两点,答案一定出现在相邻的两点上
  19. 传参数是$int$还是$double$
  20. dp初始化问题
  21. 做题千万别想当然! 别卡题!别卡题!
优先级问题 表达式 误区 实际结果
$.$ 的优先级高于 $*$ $\rightarrow$ $*p.f$ 认为是$(*p).f$ $*(p.f)$ $p$取$f$偏移
$[\space ]$高于$*$ $int \space *ap[\space]$ 认为$ap$是指向$int$数组的指针 $int\space (*ap) [\space]$ $ap$是指向$int$数组的指针 $int\space (*ap) [\space]$
函数$()$高于$*$ $int\space *fp()$ $fp$是一个函数指针 函数返回$int$ 即$int\space (*fp)()$ $fp$是个函数 返回$int\space *$ 即$int\space *(fp())$
$==$$\neq$高于位操作 $(val\space &\space mask \neq 0)$ $(val\space & \space mask) \neq 0$ $val\space & \space (mask \neq 0)$
$==$$neq$高于赋值符 $c = getchar() \neq EOF$ $(c = getchar()) \neq EOF$ $c = (getchar() \neq EOF)$
算术运算符高于位移运算符 $msb << 4 + lsb$ $(msb << 4) + lsb$ $msb << (4 + lsb)$
逗号运算符优先级最低 $i = 1, 2$ $i = (1, 2)$ $(i = 1),2$