
题目描述
现有n个线性排列的水池,每两个水池之间有一个开关,打开开关可以使这两个水池连通,即这两个水池每个水池内水的体积变为两个水池水体积之和的平均值,同样,如果有多个连续的开关打开,那么所有连通的水池中水的体积会变为它们之和的平均值。
给定水池个数n,同时给水池编号,从1到n,每个水池水的体积为N[i] (1<=i<=n),q次操作,每次可能执行1或操作2
操作1:把区间[l,r]所有水池的开关打开,已经打开的开关仍保持打开。如区间[1,3]表示把水池1,2之间的开关和水池2,3之间的开关打开。
操作2:输出水池A[i]中水的体积
给定水池个数n,同时给水池编号,从1到n,每个水池水的体积为N[i] (1<=i<=n),q次操作,每次可能执行1或操作2
操作1:把区间[l,r]所有水池的开关打开,已经打开的开关仍保持打开。如区间[1,3]表示把水池1,2之间的开关和水池2,3之间的开关打开。
操作2:输出水池A[i]中水的体积
输入
第一行一个正整数n(1<=n<=1e4),水池的数量。
第二行n个正整数N[i] (1<=i<=n,1<=N[i]<=1e8),第i个水池中水的体积。
第三行一个正整数q(1<=q<=1e5),操作次数。
接下来有q组数据,第一行一个正整数ch为1或者2。
若ch=1执行操作1:第二行两个正整数l,r(1<=l<r<=n),把区间[l,r]所有水池之间的开关全部打开。
若ch=2执行操作2:第二行一个正整数k,查询第k(1<=k<=n)个水池中水的体积。
本题保证数据随机生成
第二行n个正整数N[i] (1<=i<=n,1<=N[i]<=1e8),第i个水池中水的体积。
第三行一个正整数q(1<=q<=1e5),操作次数。
接下来有q组数据,第一行一个正整数ch为1或者2。
若ch=1执行操作1:第二行两个正整数l,r(1<=l<r<=n),把区间[l,r]所有水池之间的开关全部打开。
若ch=2执行操作2:第二行一个正整数k,查询第k(1<=k<=n)个水池中水的体积。
本题保证数据随机生成
输出
每个输出仅占一行,若值为小数则以最简分数输出。
如20/40输出为1/2,30/10输出为3
如20/40输出为1/2,30/10输出为3
样例输入 Copy
5
1 3 3 2 4
5
1
1 3
2
2
2
4
1
2 5
2
5
样例输出 Copy
7/3
2
13/5
提示
1-3之间的开关全部打开,则1-3的水变成了7/3。
则第2个水池的水为7/3,第4个水池的水不变,为2。
2-5的开关全部打开,之前1-3的开关已经打开,则全部开关已经打开,水变成13/5。则第5个水池内的水为13/5。
则第2个水池的水为7/3,第4个水池的水不变,为2。
2-5的开关全部打开,之前1-3的开关已经打开,则全部开关已经打开,水变成13/5。则第5个水池内的水为13/5。