2019 ICPC World Finals K
题意
做法
\(lcm(1,2,\cdots,100)=O(10^{40})\)
令\(p_i=r_i+g_i\)
若\(\{p_i\}\)两两互质,则通过的概率等于单个概率之积
证明一下(不知道这是不是经典的结论),下面省略一些细节
等价于证明,\((p_1,p_2)=1\),则\(x\equiv a_1(mod~p_1),x\equiv a_2(mod~p_2)\)对于\((a_1\in[1,p_1),a_2\in[1,p_2))\)\(x\)的解两两不同
根据中国剩余定理,\(x=a_1p_2k_1+a_2p_1k_2+(Kp_1p_2)\),求\(x\)两两不同,等价于求其不为\(0\)
显然\((p_1p_2,p_1k_1)=1\),则不会\(0\)
若\(\{p_i\}\)两两互为倍数关系,则可以通过\(O(nmax(p_i))\)计算
若我们选取\(X\),对于\(t\in[0,X)\),计算每辆车在时间\(t,t+X,t+2X,\cdots\)内的情况,对于\(p_i\),其周期会变为\(\frac{p_i}{(X,p_i)}\)
将\([1,100]\)内的数同\(X\)处理后,若将互为倍数的数合并后,剩下的数两两互质,则可以很快地计算答案
某一充分条件为将所有数均变成素数幂,可以枚举\(X\)看是否合适,事实证明最小的\(X=2520\)
\(O(Xnp)\)