牛客練習賽52 A 數數(快速冪)

2022-08-24 16:48:14 字數 929 閱讀 9204

「你已經是乙個成熟的孩子了,要學會自己數數了!」

多組資料。

第一行乙個數 t(1<=t<=5),表示測試資料組數。

接下來 t行,每行乙個數 n(1<=n<=1e7)。

對於每一組測試資料,輸出一行兩個數,即這組測試資料的答案。

示例1複製

1

1

複製

1 1
解題思路:

第一問:

1*1+1*2+1*3+......+1*n+

2*1+2*2+2*3+.......+2*n+

n*1+n*2+n*3+......+n*n = 1*n*(n+1)/2 + 2*n*(n+1)/2 + ......n*n*(n+1)/2。

第二問:

1*1 * 1*2 * 1*3 *......* 1*n *

2*1 * 2*2 * 2*3 * .......* 2*n *

n*1 * n*2 * n*3 * ...... * n*n = (n!)^(2*n)。

奇數列上豎著相乘是n個n!,

偶數列上橫著相乘是n個n!, 合併起來是(n!)^(2*n)。

#include long long poww(long long a, long long b) 

b=b>>1;

} return c;

}int main()

printf("%lld %lld\n", ans1, poww(ans2, 2*n)%998244353);

} return 0;

}

牛客練習賽52

數數 define 能夠比int定義乙個數更快,這道就是典例,用int mod超時,而define ac了。fefine 是直接用,而其他定義是還要乙個位址尋找流程 include define max int unsigned 1 1 define min int max int define p...

牛客練習賽52 BGalahad 樹狀陣列

題意 求乙個區間的和,但如果某乙個數在這個區間出現了多次,這個數只能被計算一次。官方題解 按右端點從小到大排序。建立樹狀陣列ccc,維護貢獻的字首和。由於權值ai 滿足1 ai 500 000,所以不用離散化,直接維護 last a i 表示元素 a i 上一次出現的位置。設當前更新到的位置為t 如...

牛客練習賽9

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 珂朵莉想每天都給威廉送禮物,於是她準備了n個自己的本子 她想送最多的天數,使得每天至少送乙個本子,但是相鄰兩天送的本子個數不能相同 珂朵莉最多送幾天禮物呢 第一行乙個整...