我們說 f(n) 表示在一個有正整數 1∼n 的集合內,擁有三個或三個以上連續正整數的子集合個數。像是 n=5 就有 {1,2,3},{2,3,4},{3,4,5},{1,2,3,5},{1,3,4,5},{1,2,3,4},{2,3,4,5},{1,2,3,4,5} 八種子集合,故 f(5)=8。
首行有一個正整數 T,代表接下來有 T 組測資。接下來 T 行,只有一個正整數 N 代表這筆測資要你輸出的是 f(N)。
因為答案可能很大,所以對於每筆測資,請輸出一個整數代表 f(N) 模 109+7 的餘數於一行。
3 3 4 5
1 3 8
本題共有三個子題,每一子題可有多筆測試資料:第一子題的測試資料 N≤20,全部解出可獲 20 分;第二子題的測試資料 N≤1000,全部解出可獲 30 分;第三子題的測試資料 N≤106,全部解出可獲 50 分。
對於所有測資,T≤10。