題目描述
天天開始彈奏鋼琴了。他的鋼琴由 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...