Network_Error 的 错题本

$${\mathbb{错题本——线段树}}$$
1. build(u, l, r) 函数中 sumv[u] = a[l] 误写成 sumv[l] = a[l]
1. 加法标记记得初始为 0,乘法标记记得初始为 1,下传标记时也要将当前层的乘法标记初始为 1
1. maketag_mul(u, x) 时要把加法标记也乘上 x
1. 记得调用 build(1, 1, n) 建树。
1. 查询时同样要记得取模,参见 P3373 【模板】线段树 2
1. 查询时也要下传标记。
1. pushdown(u, l, r) 误写成 pushdown(1, l, r)
1. 求区间最大值时要初始为极小值,而不是 0,因为有可能出现负数,参见 P1253 扶苏的问题

{\mathbb{错题本——网络流}}

  1. 别忘了建反向边!
  2. 无向图要建双向边!
  3. 在函数里使用一定要分清使用局部变量还是全局变量,尤其是递归函数,否则下一层会把上一层答案初始化。——摘自 @Access57 的错题本

{\mathbb{错题本——纸糊船算法}}

  1. 哈希时不要把任意字符对应到数字 0,比如假如把 \texttt{a} 对应到数字 0,那么将不能只从哈希结果上区分 \texttt{ab}\texttt{b}。——摘自 P3370 【模板】字符串哈希
    题解

{\mathbb{错题本——树套树}}

  1. 如果要离散化并去重,去重之后数组有效部分的长度会改变!如
lsh[len + 1] = INF; sort(lsh + 1, lsh + len + 1); len = unique(lsh + 1, lsh + len + 1) - lsh - 1;

但是这样执行完毕后有时 lsh[len + 1] != INF

{\mathbb{错题本——关于}}\text{ STL}

  1. set 容器在判定已有元素 a 和新插入元素 b 是否相等时,是这么做的:1)将 a 作为左操作数,b 作为右操作数,调用比较函数,并返回比较值。2)将 b 作为左操作数,a 作为右操作数,再调用一次比较函数,并返回比较值。如果 1,2 两步的返回值都是 false,则认为 a,b 是相等的,则 b 不会被插入 set 容器中;如果 1,2 两步的返回值都是 true,则可能发生未知行为,因此,记住一个准则:永远让比较函数对相同元素返回 false。——摘自 C++ 中 std::set 自定义去重和排序函数

{\mathbb{警钟长鸣——}}

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇