小美和小團最近沉迷可樂。可供ta們選擇的可樂共有k種,比如可口可樂、零度可樂等等,每種可樂會帶給小美和小團不同的快樂程度。
ta們一共要買n瓶可樂,每種可樂可以買無限多瓶,小美會隨機挑選其中的m瓶喝,剩下的n-m瓶小團喝。
請問應該如何購買可樂,使得小美和小團得到的快樂程度的和的期望值最大?
現在請求出購買可樂的方案。
第一行三個整數n,m,k分別表示要買的可樂數、小美喝的可樂數以及可供選擇的可樂種數。接下來k行,每行兩個整數a,b分別表示某種可樂分別給予小美和小團的快樂程度。
對於所有資料,1 <= n <= 10,000, 0 <= m <= n, 1 <= k <= 10,000, -10,000 <= a, b <= 10,000
一行k個整數,第i個整數表示購買第i種可樂的數目。如果有多解,請輸出字典序最小的那個。
對於兩個序列 a1, a2, ..., ak, b1, b2, ..., bk,a的字典序小於b,當且僅當存在乙個位置i <= k滿足:
ai< bi且對於所有的位置 j < i,aj = bj;
示例1
2 1 21 23 1
0 2
一共有三種購買方案:1. 買2瓶第一類可樂,小美和小團各喝一瓶,期望得到的快樂程度和為1+2=3;
2. 買1瓶第一類可樂和1瓶第二類可樂,小美和小團各有二分之一的概率喝到第一類可樂,另有二分之一的概率喝到第二類可樂,期望得到的快樂程度和為1*0.5+3*0.5+2*0.5+1*0.5=3.5;
3. 買2瓶第二類可樂,小美和小團各喝一瓶,期望得到的快樂程度和為3+1=4。
#include #include #include using namespace std;
const int nmax=10001;
int main()
auto cal = [a, b, n, m](int x)-> double
; for (int j = 0; j < k; ++j)
buy[res] = n;
for (int i = 0; i < k-1;++i)
cout << buy[k-1];
}
2018美團CodeM程式設計大賽初賽B輪 A題開關燈
美團的辦公室一共有n層,每層有m個會議室,可以看成是乙個n m的網格圖。工程師們每天的工作需要協作的地方很多,經常要到會議室開會解決各種問題。公司是提倡勤儉節約的,因此每次會議室只在使用時才開燈。當乙個工程師進入會議室時,假設沒有其他人,他會把燈開啟。當乙個工程師離開會議室時,假設沒有其他人,他會把...
筆試刷題 美團
題目描述 大富翁遊戲,玩家根據骰子的點數決定走的步數,即骰子點數為1時可以走一步,點數為2時可以走兩步,點數為n時可以走n步。求玩家走到第n步 n 骰子最大點數且是方法的唯一入參 時,總共有多少種投骰子的方法。輸入描述 輸入包括乙個整數n,1 n 6 輸出描述 輸出乙個整數,表示投骰子的方法 輸入例...
筆試刷題 美團
題目描述 給你六種面額 1 5 10 20 50 100 元的紙幣,假設每種幣值的數量都足夠多,編寫程式求組成n元 n為0 10000的非負整數 的不同組合的個數。輸入描述 輸入包括乙個整數n 1 n 10000 輸出描述 輸出乙個整數,表示不同的組合方案數 輸入例子1 1輸出例子1 1 思路如下 ...