CF1628D2.Game on Sum (Hard Version)

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

This is the hard version of the problem. The difference is the constraints on nn , mm and tt . You can make hacks only if all versions of the problem are solved.

Alice and Bob are given the numbers nn , mm and kk , and play a game as follows:

The game has a score that Alice tries to maximize, and Bob tries to minimize. The score is initially 00 . The game consists of nn turns. Each turn, Alice picks a real number from 00 to kk (inclusive) which Bob either adds to or subtracts from the score of the game. But throughout the game, Bob has to choose to add at least mm out of the nn turns.

Bob gets to know which number Alice picked before deciding whether to add or subtract the number from the score, and Alice gets to know whether Bob added or subtracted the number for the previous turn before picking the number for the current turn (except on the first turn since there was no previous turn).

If Alice and Bob play optimally, what will the final score of the game be?

输入格式

The first line of the input contains a single integer tt ( 1t1051 \le t \le 10^5 ) — the number of test cases. The description of test cases follows.

Each test case consists of a single line containing the three integers, nn , mm , and kk ( 1mn106,0k<109+71 \le m \le n \le 10^6, 0 \le k < 10^9 + 7 ) — the number of turns, how many of those turns Bob has to add, and the biggest number Alice can choose, respectively.

It is guaranteed that the sum of nn over all test cases does not exceed 10610^6 .

输出格式

For each test case output a single integer number — the score of the optimal game modulo 109+710^9 + 7 .

Formally, let M=109+7M = 10^9 + 7 . It can be shown that the answer can be expressed as an irreducible fraction pq\frac{p}{q} , where pp and qq are integers and q≢0(modM)q \not \equiv 0 \pmod{M} . Output the integer equal to pq1modMp \cdot q^{-1} \bmod M . In other words, output such an integer xx that 0x<M0 \le x < M and xqp(modM)x \cdot q \equiv p \pmod{M} .

输入输出样例

  • 输入#1

    7
    3 3 2
    2 1 10
    6 3 10
    6 4 10
    100 1 1
    4 4 0
    69 4 20

    输出#1

    6
    5
    375000012
    500000026
    958557139
    0
    49735962

说明/提示

In the first test case, the entire game has 33 turns, and since m=3m = 3 , Bob has to add in each of them. Therefore Alice should pick the biggest number she can, which is k=2k = 2 , every turn.

In the third test case, Alice has a strategy to guarantee a score of 758375000012(mod109+7)\frac{75}{8} \equiv 375000012 \pmod{10^9 + 7} .

In the fourth test case, Alice has a strategy to guarantee a score of 452500000026(mod109+7)\frac{45}{2} \equiv 500000026 \pmod{10^9 + 7} .

首页