F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

二分

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 367    Accepted Submission(s): 141


Problem Description
有 $n$ 个格子,你现在在第 $x$ 个格子,想到第 $y$ 个格子。

每次,如果你当前的格子编号小于 $y$,你就会等概率跳到比当前编号更大的一个格子中,反之则等概率跳到比当前编号更小的一个格子中。

求期望跳的次数。
 

Input
第一行一个正整数 $T$ 代表数据组数。

接下来 $T$ 行,每行三个正整数 $n,x,y$,分别为函数的三个参数。

满足 $1\le n,T \le 2\times 10^6$,$1\le x,y\le n$。
 

Output
对每组数据,输出一个正整数,$i$ 的期望对 $10^9+7$ 取模后的值。
 

Sample Input
4 2 1 2 3 1 3 3 1 2 114514 1919 810
 

Sample Output
1 500000005 2 680707294
 

Hint

对于第一组 $n=2$,$x=1$,$y=2$ 的情况,第一次跳跃的范围为 $[2,2]$,因此答案为 $1$。

对于第二组 $n=3$,$x=1$,$y=3$ 的情况,第一次跳跃的范围为 $[2,3]$。

若第一次跳到第 $2$ 格,答案为 $2$;若第一次跳到第三格,答案为 $1$,因此答案为 $\frac{1}{2}\times2+\frac{1}{2}\times1\equiv\frac{3}{2}\equiv5\times 10^8+5\pmod{10^9+7}$

对于第三组 $n=3$,$x=1$,$y=2$ 的情况,

有 $\frac{1}{2^n}$ 的情况答案为 $n$,

故答案为 $\sum_{i=1}^{\infin}\frac{i}{2^i}=2$。
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-05-05 02:52:19, Gzip enabled