分块是一种思维简单,代码简洁易懂的算法,虽然时间复杂度 $O(q \times \sqrt[2]{n})$ 相对于线段树的 $O(q \times \log{n})$ 要慢很多,但是它的算法兼容性和思维、代码难度确实远优于线段树。
fan_xiaoyi 不辱使命 前情提要 江王$^1$使人谓 @C老 $^2$日:“寡人欲以年级主任之权停信竞,@CXJ 其许寡人!” @C老日:“主任之命,弗敢拒抗,必遵。虽然,受任于家长,弗敢停。”江王不说。@C老 因使 @fan_xiaoyi 使于化$^3$。 江王谓 @fan_xiaoyi 日:“寡人以年级主任之权停信竞,@C老 不听寡人,何也?且化灭数亡生,而 JX 以去年无金牌$^4$存者,以 JX 为金教$^5$者,故未强责也。今吾以主任之权,请停于 JX,而 JX 逆寡人,轻寡人与?” @fan_xiaoyi 对日:“否,非若是也。@C老 受任于家长而教之,虽校长不敢停也,岂 …
前言 bitset 是一种空间开销极小,时间开销也极小的一种类似于 bool 类型的方法。相对于 bool 的每一个变量占用一个字节,bitset 每一个变量只占用一个位(1字节 = 8位),所以空间占用极小,访问也特别快,适合用于卡常。
题目传送门 SP22268 ETFS - 欧拉函数筛法 题解 题目大意 给定区间 $[a, b]$,求区间内每个数的欧拉函数值 $\varphi(n)$。 算法思路 很显然,$10^{12}$ 的数据是不可能线性做的,但是 $b - a \leq 10^6$,那么我们就可以只求出区间内的 $\varphi(i)$。