小技巧——语法

Part1

经常在表示 \(2^n\) 时使用 \((1<<n)\)
但不幸的是,它在 \(long long\) 范围会溢出!

难道只能手写快速幂了吗?
不,改成 \((1ll<<n)\) 就行了。

Part2

经常会用 \(memset\) 来清空数组。
有时候我们不需要清空整个数组,就会手动清空。
其实同等长度下 手动清空 的常数大约为 \(memset\) 的 3.5 倍(也挺快的)。
另外 \(STL\) 提供了函数 \(fill\)

fill(a+1,a+n+1,0)

分别为指针和数值,差不多和手动清空一样快。
\(fill\) 函数包含在 \(algorithm\) 头文件里。

posted @ 2025-11-24 21:13  zhoumengxuan  阅读(8)  评论(0)    收藏  举报