天天的鋼琴(數論)

2021-09-18 04:28:53 字數 855 閱讀 9241

題目描述

天天開始彈奏鋼琴了。他的鋼琴由 n個琴鍵組成,每個鍵有乙個權值xi,當天天開始彈琴時,他同時按k個不同的鍵。但是這個鋼琴十分古怪,在他同時按了k個鍵之後,我們只能聽到具有最大權值的那個鍵。現在天天準備試試這個鋼琴k個鍵的所有組合,他想要知道將要聽到琴聲的權值和。因為結果會很大,所以輸出mod 1000000007之後的結果。

輸入第一行兩個整數n,k。(1<= n <=100000,1<= k <=50). 下一行由 n 個整數xi組成(0<= xi <=1000000000).

輸出乙個整數 表示權值和sum%p的結果

樣例輸入 copy

5 3

2 4 2 3 4

樣例輸出 copy

39
可以將n個琴建的權值進行排序,然後定一取前面的k-1個,所以就轉化成了組合數問題

sum=an*c(k-1,n-1);

#include#include#includeusing namespace std;

typedef long long ll;

const int mod = 1000000007;

ll a[100010];

ll fpow(ll a, ll b)

return res;

}ll jc(ll a) //階乘

ll c(ll a,ll b) //算方案

int main()

} cout << ans % mod << endl;

return 0;

}

肥豬的鋼琴床

題目描述肥豬很喜歡睡懶覺,與此同時肥豬十分喜歡買各種各樣神奇的床。我們假設0表示某乙個位置是凹下去的,1表示某乙個位置是凸起來的。那麼0 100111 01111000 11100 都是肥豬喜歡的鋼琴床,因為所有凸起來的部分都是連續的 輸入詳情 讀入一共有兩行,第一行只有乙個正整數數n,表示鋼琴床有...

彈鋼琴的碼農

為什麼中國的程式設計師總被稱為碼農?目的 以便以後反覆的看,畢竟在自己的文章管理裡面,不會哪天就不記得這篇文章了,看到的機會就更多了。也是告誡自己未來需要做些什麼!附屬 其實絕大部分人都差不多,唯一差的就是乙個機會和第一桶金。這些只要勇於改變現狀就有機會獲得!摘要 之前,研發頻道曾發過 東方程式設計...

DP 肥豬的鋼琴床

input 讀入一共有兩行,第一行只有乙個正整數數n,表示鋼琴床有n個部分。第二行由乙個01串組成 n 1000000 保證01串的長度為n output 輸出乙個正整數表示肥豬最少要拿走的部分的數量 samples input 3111 output 0input copy 3101 output...