dfs模擬題加上思維

2021-09-25 19:31:26 字數 1337 閱讀 2180

這是題目大致意思,思路很簡單,就是找出每個位置的前五個人把他們的座標存起來可以有重複的,之後dfs就可以啦時間複雜度n + 5^5;在這裡插入**片

題目描述

jwju注重培養學生的「唱,跳,rap,籃球」能力。於是每年jwju都會舉辦籃球校賽,來給同學們乙個切磋籃球技術的平台。校賽冠軍的獎勵是看wls**一次,為了這個目標,大家都努力訓練,希望自己能看到wls**。

教練mymy手下有 nn 名隊員,現在他要挑選 55 人組成乙個籃球隊來參賽。眾所周知,乙個籃球隊伍有五個不同的位置(控球後衛,得分後衛,小前鋒,大前鋒,中鋒),現在教練mymy給出每名隊員在每個位置的能力。

注:如果乙個隊員作為控球後衛出戰,則他只能發揮他的控球後衛的能力值。(其他位置類似)

教練mymy想讓你幫忙選擇出 55 名隊員,分別放置在隊伍中的不同位置。求他們組成的隊伍的最大能力值之和。

輸入描述

輸出第一行包含乙個正整數 nn (5 \le n \le 10^5≤n≤105)。

接下來包含 nn 行,每行包含 55 個正整數,描述每個隊員在每個位置的能力值。每項能力值的取值範圍都在 [1,10^][1,109]。

輸出描述

輸出一行乙個正整數代表組成的隊伍的最大能力值之和。

樣例輸入 1

510 11 12 15 10

10 15 12 11 10

15 10 15 15 15

19 20 114000 10 300

14 10 155 200 469

樣例輸出 1

114514

提示第乙個人放在位置4,發揮15的能力值

第二個人放在位置2,發揮15的能力值

第三個人放在位置1,發揮15的能力值

第四個人放在位置3,發揮114000的能力值

第五個人放在位置5,發揮469的能力值

團隊總能力值:15+15+15+114000+469=11451415+15+15+114000+469=114514

#include using namespace std;

typedef long long ll;

const int n = 1e5 + 5;

bool vis[n];

ll co[n][6];

ll maxx[6][6];

ll tmp;

void dfs(int now,ll s)

for(int i = 1;i <= 5;i++)//每種能力的前五個人。

}int main()}}

}dfs(1,0);

cout << tmp << endl;

}

Helping the HR 思維模擬題

這道題我一看,那麼長 結果就是乙個模擬題 這道題如果都把他化成秒就很好算了,因為題目有規定輸入的時間不會發生衝突 所以我直接比較秒的大小就行了 主要是題意的理解 1.如果在白班換崗,那麼就是必須在9 30之前到崗,否則就遲到了 並且在到崗後必須值班至少8個小時 2.如果在晚班換崗,那麼就必須在12 ...

今夕何年 模擬 思維題

今天是2017年8月6日,農曆閏六月十五。小度獨自憑欄,望著一輪圓月,發出了 今夕何夕,見此良人 的寂寞感慨。小貼士 在公曆中,能被4整除但不能被100整除,或能被400整除的年份即為閏年。input 第一行為t,表示輸入資料組數。每組資料報含乙個日期,格式為yyyy mm dd。1 t 10000...

NOIP模擬 數球(思維題)

小a有n個球,編號分別為1到n,小a每次都會從n個球中取出若干個球,至少取乙個,至多取n個,每次取完再放回去,需要滿足以下兩個條件。1 每次取出的球的個數兩兩不同。2 每次取出的球的集合兩兩不包含。包含是指,對於兩次取球,對於取的數目少的那次取球的所有球都出現在取的數目多的那次取球中,例如 1,2 ...