題目的意思就是乙個金額..並給出每個人可以獲得得最大額...問怎麼分配能最平均...其中題目有指出...數字大的盡量要多分配...數字一樣大的..序列在前的多分配...
今天湖大網賽的一道題...一上來就水掉了...覺得思維也不夠嚴謹~~~但就是這樣過了...我的思路就是首先每個人排序~~~以最大額從小到大...如果最大額一樣序列再從大到小排....然後從前往後掃...如果當前值小於目前的平局值...那麼當前值所在位置所分配到的份額就是那個位置能獲得的最大份額....如果當前值大於目前的平均值...那麼當前值所在位置所分配到的份額就分配為這個平局值向下取整...然後去掉這個元素...算出新的平均值...繼續往後做...就能得到所有結果...
我也只是一下子想出來的....跑了樣例..再自己出了幾個資料...交上去就a了....但總覺得這個自己也不好證明...很不嚴謹...
program:
#includeusing namespace std; struct pp s[101]; int t,p,n,a[101]; bool cmp(pp a,pp b) void getanswer() { int i,m=0; double h; for (i=1;i<=n;i++) m+=s[i].x; if (m
演算法導論 1 2 1
考慮對陣列a中的n個數的排序 開始時先找出a中的最小元素並放在另乙個陣列b的第乙個位置上。然後找出a衝次最小元素並放在b的第二個位置上,對a中餘下來的元素繼續這個過程。這個演算法稱為選擇排序,請寫出其偽 並以 看不清 形式顯出其最佳和最壞情況下時間代價。static void main string...
1 21 學習報告
第五章中的習題5 3,5 4,5 5 5 5 pointer.cpp 定義控制台應用程式的入口點。include stdafx.h include includeusing namespace std void strcpy 1 char s char t void strcpy 2 char s ...
12 1題目總結
tree poj 1741 給定一棵n 105 個頂點的樹,邊帶正權,問你距離不超過k的頂點對數。點分治陣列維護。bzoj2599 給一棵樹,每條邊有權.求一條路徑,權值和等於k,且邊的數量最小 點分治map維護 bzoj2152 聰聰可可 點分治int維護 hdu4812 給定一棵 n 個點的樹,...