应该是 :
seed = 0 base = 0 function rnd(): ret = seed seed = (seed * base + 233) mod 1000000007 return ret p[0] = 0 for i = 1 to m: seed = b[i] base = w[i] for j = p[i - 1] + 1 to p[i]: t[j] = (rnd() mod 2) + 1 a[j] = (rnd() mod k[i]) + 1