Loading docs/ds/block-array.md +2 −1 Original line number Diff line number Diff line Loading @@ -63,7 +63,8 @@ int Answer(int l, int r, int c) { ### 例题 2:寒夜方舟 两种操作: 1\. 区间 $[x,y]$ 每个数都变成 $z$ 2. 查询区间 $[x,y]$ 内小于等于 $z$ 的数的个数 1. 区间 $[x,y]$ 每个数都变成 $z$ 2. 查询区间 $[x,y]$ 内小于等于 $z$ 的数的个数 用 `dlt` 保存现在块内是否被整体赋值了。用一个值表示没有。对于边角块,查询前要 `pushdown` ,把块内存的信息下放到每一个数上。赋值之后记得从新 `sort` 一遍。其他方面同上题。 Loading docs/math/euclidean-like.md +4 −11 Original line number Diff line number Diff line Loading @@ -17,19 +17,13 @@ $$ $$ \begin{split} f(a,b,c,n)&=\sum_{i=0}^n\left\lfloor \frac{ai+b}{c} \right\rfloor\\ &=\sum_{i=0}^n\left\lfloor \frac{\left(\left\lfloor\frac{a}{c}\right\rfloor c+a\bmod c\right)i+\left(\left\lfloor\frac{b}{c}\right\rfloor c+b\bmod c\right)}{c} \right\rfloor\\ \frac{\left(\left\lfloor\frac{a}{c}\right\rfloor c+a\bmod c\right)i+\left(\left\lfloor\frac{b}{c}\right\rfloor c+b\bmod c\right)}{c}\right\rfloor\\ &=\frac{n(n+1)}{2}\left\lfloor\frac{a}{c}\right\rfloor+(n+1)\left\lfloor\frac{b}{c}\right\rfloor+ \sum_{i=0}^n\left\lfloor \frac{\left(a\bmod c\right)i+\left(b\bmod c\right)}{c} \sum_{i=0}^n\left\lfloor\frac{\left(a\bmod c\right)i+\left(b\bmod c\right)}{c} \right\rfloor\\ &=\frac{n(n+1)}{2}\left\lfloor\frac{a}{c}\right\rfloor +(n+1)\left\lfloor\frac{b}{c}\right\rfloor +f(a\bmod c,b\bmod c,c,n) +(n+1)\left\lfloor\frac{b}{c}\right\rfloor+f(a\bmod c,b\bmod c,c,n) \end{split} $$ Loading Loading @@ -154,8 +148,7 @@ $$ \begin{split} &h(a,b,c,n)=\sum_{i=0}^n\left\lfloor \frac{ai+b}{c} \right\rfloor^2 =\sum_{i=0}^n\left[\left(2\sum_{j=1}^{\left\lfloor \frac{ai+b}{c} \right\rfloor}j \right)-\left\lfloor\frac{ai+b}{c}\right\rfloor\right]\\ =&\left(2\sum_{i=0}^n\sum_{j=1}^{\left\lfloor \frac{ai+b}{c} \right\rfloor}j\right) -f(a,b,c,n) \\ =&\left(2\sum_{i=0}^n\sum_{j=1}^{\left\lfloor \frac{ai+b}{c} \right\rfloor}j\right) -f(a,b,c,n)\\ \end{split} $$ Loading docs/misc/parallel-binsearch.md +4 −3 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ ## 详解 注: 1\. 为可读性,文中代码或未采用实际竞赛中的常见写法。 2\. 若觉得某段代码有难以理解之处,请先参考之前题目的解释, 1. 为可读性,文中代码或未采用实际竞赛中的常见写法。 2. 若觉得某段代码有难以理解之处,请先参考之前题目的解释, 因为节省篇幅解释过的内容不再赘述。 从普通二分说起: Loading Loading
docs/ds/block-array.md +2 −1 Original line number Diff line number Diff line Loading @@ -63,7 +63,8 @@ int Answer(int l, int r, int c) { ### 例题 2:寒夜方舟 两种操作: 1\. 区间 $[x,y]$ 每个数都变成 $z$ 2. 查询区间 $[x,y]$ 内小于等于 $z$ 的数的个数 1. 区间 $[x,y]$ 每个数都变成 $z$ 2. 查询区间 $[x,y]$ 内小于等于 $z$ 的数的个数 用 `dlt` 保存现在块内是否被整体赋值了。用一个值表示没有。对于边角块,查询前要 `pushdown` ,把块内存的信息下放到每一个数上。赋值之后记得从新 `sort` 一遍。其他方面同上题。 Loading
docs/math/euclidean-like.md +4 −11 Original line number Diff line number Diff line Loading @@ -17,19 +17,13 @@ $$ $$ \begin{split} f(a,b,c,n)&=\sum_{i=0}^n\left\lfloor \frac{ai+b}{c} \right\rfloor\\ &=\sum_{i=0}^n\left\lfloor \frac{\left(\left\lfloor\frac{a}{c}\right\rfloor c+a\bmod c\right)i+\left(\left\lfloor\frac{b}{c}\right\rfloor c+b\bmod c\right)}{c} \right\rfloor\\ \frac{\left(\left\lfloor\frac{a}{c}\right\rfloor c+a\bmod c\right)i+\left(\left\lfloor\frac{b}{c}\right\rfloor c+b\bmod c\right)}{c}\right\rfloor\\ &=\frac{n(n+1)}{2}\left\lfloor\frac{a}{c}\right\rfloor+(n+1)\left\lfloor\frac{b}{c}\right\rfloor+ \sum_{i=0}^n\left\lfloor \frac{\left(a\bmod c\right)i+\left(b\bmod c\right)}{c} \sum_{i=0}^n\left\lfloor\frac{\left(a\bmod c\right)i+\left(b\bmod c\right)}{c} \right\rfloor\\ &=\frac{n(n+1)}{2}\left\lfloor\frac{a}{c}\right\rfloor +(n+1)\left\lfloor\frac{b}{c}\right\rfloor +f(a\bmod c,b\bmod c,c,n) +(n+1)\left\lfloor\frac{b}{c}\right\rfloor+f(a\bmod c,b\bmod c,c,n) \end{split} $$ Loading Loading @@ -154,8 +148,7 @@ $$ \begin{split} &h(a,b,c,n)=\sum_{i=0}^n\left\lfloor \frac{ai+b}{c} \right\rfloor^2 =\sum_{i=0}^n\left[\left(2\sum_{j=1}^{\left\lfloor \frac{ai+b}{c} \right\rfloor}j \right)-\left\lfloor\frac{ai+b}{c}\right\rfloor\right]\\ =&\left(2\sum_{i=0}^n\sum_{j=1}^{\left\lfloor \frac{ai+b}{c} \right\rfloor}j\right) -f(a,b,c,n) \\ =&\left(2\sum_{i=0}^n\sum_{j=1}^{\left\lfloor \frac{ai+b}{c} \right\rfloor}j\right) -f(a,b,c,n)\\ \end{split} $$ Loading
docs/misc/parallel-binsearch.md +4 −3 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ ## 详解 注: 1\. 为可读性,文中代码或未采用实际竞赛中的常见写法。 2\. 若觉得某段代码有难以理解之处,请先参考之前题目的解释, 1. 为可读性,文中代码或未采用实际竞赛中的常见写法。 2. 若觉得某段代码有难以理解之处,请先参考之前题目的解释, 因为节省篇幅解释过的内容不再赘述。 从普通二分说起: Loading