Bladeren bron

update post/2021-nc-3

Xi Ruoyao 3 jaren geleden
bovenliggende
commit
f77148649b
1 gewijzigde bestanden met toevoegingen van 2 en 1 verwijderingen
  1. 2 1
      content/post/2021-nc-3/index.md

+ 2 - 1
content/post/2021-nc-3/index.md

@@ -61,7 +61,7 @@ $2^{i+1}$ 为周期的,可以存到一个 $2^{i+1}$ 位的二进制数里面
 考虑两种情况的阈值 $t$,对于 $i > t$ 按第一种情况做,其他按第二种情况做。
 时间代价大概可以写成
 
-$$\\sum\_{i = t + 1}^{29} \\frac{nq}{2^{i+1}} +
+$$\\sum\_{i = t + 1}^{\\log\_2 \\max a\_i} \\frac{nq}{2^{i+1}} +
 \\sum\_{i = 0}^{t} \\frac{2^{i+1}(n+q)}{w} \\approx
 \\frac{nq}{2^{t+1}} + \frac{2^{t+2}(n+q)}{w}$$
 
@@ -70,6 +70,7 @@ $$\\sum\_{i = t + 1}^{29} \\frac{nq}{2^{i+1}} +
 赛后才想到可以胡乱试一些 $t$ 值的 qwq。
 
 注意为了达到这个复杂度,不能每次都用 `bitset<len>` (`len` 是 $2^{t+1}$),
+不然根号里面应该会多出一个 $\\log\_2 \\max a\_i$。
 但是 C++ template 的语义又要求尖括号里面的那个数必须在编译期确定,
 所以这里通过 `fuck<t>` 调用 `fuck<t-1>` 这样的模板元编程 (TMP)
 技巧实现对 $i \leq t$ 的情况的处理。为了<del>毒瘤人</del>展示这种写法,