一共有n(n≤20000)個人(以1--n編號)向佳佳要**,而佳佳只能把**給其中的k個人。佳佳按照與他們的關係好壞的程度給每個人賦予了乙個初始權值w[i]。然後將初始權值從大到小進行排序,每人就有了乙個序號d[i](取值同樣是1--n)。按照這個序號對10取模的值將這些人分為10類。也就是說定義每個人的類別序號c[i]的值為(d[i]-1) mod 10 +1,顯然類別序號的取值為1--10。第i類的人將會額外得到e[i]的權值。你需要做的就是求出加上額外權值以後,最終的權值最大的k個人,並輸出他們的編號。在排序中,如果兩人的w[i]相同,編號小的優先。
這是題目的描述。。。
題目本身不是很難,但是學到了一下sort函式的知識,彌補自身知識的漏洞。
int w_comp(const person &a,const person &b){
if(a.w!=b.w)return a.w>b.w;//從大到小排序
return a.num這裡面需要規定的是已知的 比較的內容,比如以上比較的是在結構體中,按照w排序的話,降序排列。要是w不相等的話,按照num排序的話,公升序排列。
洛谷 模板 快速排序題解 願
這道題說是用快排,但其實用歸併排序就能過 你信不?用stl也能過 不用質疑 首先奉上歸併排序 include using namespace std int a 100005 b 100005 void merge int l,int r else while p1 mid while p2 r f...
洛谷 比賽題解
這套題的題目質量很高,寫一發題解。t1 cjwssb最近在物理學科上遇到了難題,他不會計算乙個電路中的總電阻,現在他找到了你,希望你能幫助他。這個電路有如下限定 1 電路只由導線以及電阻為一歐的電阻組成 2 保證電路從左到右連線,即每個電阻或導線的兩個連線點xy保證x 我們可以用dfs求解,這個電路...
洛谷 1196 題解
有30000 30000 3000 0個佇列,初始每個佇列裡有元素1,2 3 30000 1,2,3 cdots 30000 1,2,3 3000 0。兩種指令 1.m mmi iij jj 編號為i ii的佇列整個接到jjj上 2.c cci iij jj 問編號為i ii,j jj的兩個點之間 ...