308570: CF1540C2. Converging Array (Hard Version)
Memory Limit:256 MB
Time Limit:5 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Converging Array (Hard Version)
题意翻译
这是这道题的困难版,与简单版唯一不同是 $1 \le q \le 10^5$ 现在有长度为 $n$ 的数组 $a$ 和长度为 $n - 1$的数组 $b$,进行无穷次如下过程直至 $a$ 数组值收敛 1. 选择一个数字 $i$ 2. 同时使 $a_i = min(a_i, \frac{a_i + a_{i + 1} - b_i}{2}),\ a_{i + 1} = max(a_{i + 1}, \frac{a_i + a_{i + 1} + b_i}{2})$ (没有取整) 定义 $F(a, b)$ 为操作完成后 $a_1$ 的值 现在你知道数组 $b$ 和 长度为 $n$ 的数组 $c$,保证 $\forall i \in [1, n],\ 0 \le a_i \le c_i$ 有 $q$ 组询问,每次问使 $F(a, b) \ge x$ 的数组 $a$ 有多少个 答案对 $1\ 000\ 000\ 007$ 取模题目描述
This is the hard version of the problem. The only difference is that in this version $ 1 \le q \le 10^5 $ . You can make hacks only if both versions of the problem are solved. There is a process that takes place on arrays $ a $ and $ b $ of length $ n $ and length $ n-1 $ respectively. The process is an infinite sequence of operations. Each operation is as follows: - First, choose a random integer $ i $ ( $ 1 \le i \le n-1 $ ). - Then, simultaneously set $ a_i = \min\left(a_i, \frac{a_i+a_{i+1}-b_i}{2}\right) $ and $ a_{i+1} = \max\left(a_{i+1}, \frac{a_i+a_{i+1}+b_i}{2}\right) $ without any rounding (so values may become non-integer). See notes for an example of an operation.It can be proven that array $ a $ converges, i. e. for each $ i $ there exists a limit $ a_i $ converges to. Let function $ F(a, b) $ return the value $ a_1 $ converges to after a process on $ a $ and $ b $ . You are given array $ b $ , but not array $ a $ . However, you are given a third array $ c $ . Array $ a $ is good if it contains only integers and satisfies $ 0 \leq a_i \leq c_i $ for $ 1 \leq i \leq n $ . Your task is to count the number of good arrays $ a $ where $ F(a, b) \geq x $ for $ q $ values of $ x $ . Since the number of arrays can be very large, print it modulo $ 10^9+7 $ .输入输出格式
输入格式
The first line contains a single integer $ n $ ( $ 2 \le n \le 100 $ ). The second line contains $ n $ integers $ c_1, c_2 \ldots, c_n $ ( $ 0 \le c_i \le 100 $ ). The third line contains $ n-1 $ integers $ b_1, b_2, \ldots, b_{n-1} $ ( $ 0 \le b_i \le 100 $ ). The fourth line contains a single integer $ q $ ( $ 1 \le q \le 10^5 $ ). The fifth line contains $ q $ space separated integers $ x_1, x_2, \ldots, x_q $ ( $ -10^5 \le x_i \le 10^5 $ ).
输出格式
Output $ q $ integers, where the $ i $ -th integer is the answer to the $ i $ -th query, i. e. the number of good arrays $ a $ where $ F(a, b) \geq x_i $ modulo $ 10^9+7 $ .
输入输出样例
输入样例 #1
3
2 3 4
2 1
5
-1 0 1 -100000 100000
输出样例 #1
56
28
4
60
0