Jack的寶物問題 組合數學

2021-08-14 01:50:13 字數 1039 閱讀 6761

題目鏈結

題目描述

jack是個吃雞玩家,乙個偶然的機會jack來到了神秘的p城,jack發現p城有 n 種寶物,每種寶物有 x[i] 個。但是當jack想把他們全部拿走時,jack發現由於揹包限制,jack現在只能帶 3 件寶物回去,且每種寶物jack最多只能帶走 1 件。那麼jack一共有多少種帶走 3 種不同寶物的方法?

輸入 題目有多組測試資料

每組資料第一行輸入乙個m,代表m種型別(3<=m<=2000)

第二行有m個數,表述x[

i](0

i]<=

10000)

輸出 對於每組資料,按題目要求輸出一共有多少種方法(mod609929123)

樣例輸入

3 1 2 3

樣例輸出

6 思路:

以每一位的貢獻考慮,取第i個數,容量為3的排列組合即為(s

um[i

−1]∗

x[i]

∗(su

m[n]

−sum

[i])

) ,最後求和即可;

#include 

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

map ma;

const ll mod = 609929123;

const

int maxn = 16000;

char ch[110][110];

ll x[2010], sum[2010];

int main()

ll res = 0;

for(int i = 2; i < n; i++)

printf("%lld\n", res % mod);

}return

0;}

組合數學問題

監獄有連續編號為1.n的n個房間,每個房間關押乙個犯人,有m種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄 輸入兩個整數m,n.1 m 10 8,1 n 10 12 可能越獄的狀態數,模100003取餘 6種狀態為 000 001 011 ...

組合數學 購票問題

購票問題 題目大意 一張票50元,有n個帶著50元的人和n個帶著100元的人,請問總共有多少種排隊方法使得不會出現購票找不回錢的尷尬局面?輸入樣例 2 輸出樣例 2 這是一類非常有代表性的問題,下面將介紹該問題的5種解法 number 5 暴力列舉 很顯然,要使帶著100元的購票那麼就需要50的去找...

組合數學 求組合數

對於求組合數,要根據所給資料範圍來選擇合適的演算法 這道題中所給的資料範圍適合用打表的方法直接暴力求解 先用4e6的複雜度預處理出所有的情況,再用1e4的複雜度完成詢問即可 include using namespace std const int n 2010 const int mod 1e9 ...