Virus tăng gấp x lần với xác suất 0.5, gấp y lần với xác suất 0.5. Từ 1 tế bào, tính kỳ vọng sau t thời gian. Mod 10^9+7.
Công thức
Kỳ vọng mỗi bước = (x+y)/2. Sau t bước: ((x+y)/2)^t. Tính lũy thừa modulo nhanh.
Ví dụ
MOD = 10**9 + 7
def solve(x, y, t):
factor = (x + y) // 2
res = 1
while t > 0:
if t % 2:
res = (res * factor) % MOD
factor = (factor * factor) % MOD
t //= 2
return res
print(solve(2, 4, 1)) # Output: 3
Giải thích
x=2, y=4, t=1: kỳ vọng = 0.5*2 + 0.5*4 = 3.