第十屆藍橋杯CB題目I 分析

2022-07-01 03:33:12 字數 1736 閱讀 3230

思路分析://感謝寫文博主

思路:相信大多數人和我一樣在比賽的時候把這題想的太簡單了_(:з」∠)_ 這題和去年的最後一題很類似,就是分類討論,去年放在了最後一題,今年在倒數第二題,說明難度不算太難,分析出來了就會覺得emmm好坑……那麼下面開始分析,我是按照符號的個數和負數的個數來分類討論的:

①負號個數為0,那麼沒有辦法只能全加

②負號個數等於負數個數,那麼減去所有負數就能得到最大結果

③負號個數小於負數個數,可以通過加號的補充來達到上一種情況的效果的

比如(6 5 -4 -3 -2 -1),有1個減號,那麼可以變成 6 + 5 - ( -4 + -3 + -2 + -1 ) ;有2個減號,那麼可以變成 6 + 5 - -4 - ( -3 + -2 + -1 )  ;有3個減號,那麼可以變成6 + 5 - -4 - -3 - ( -2 + -1 ) 

④負號個數大於負數個數,那麼先把負數都減掉,然後再減較小的正數

我的**:

1 #include2 #include3 #include4 #include

5 #include6

using

namespace

std;

7int

n,lenth;

8int m;//

減號個數

9int minus_num;//

負數的個數

10const

int maxn = 200005;11

intaim[maxn];

1213

intsolve()

1422

if(m<=minus_num)

2328 ans=-ans;

29for(int i=minus_num;i)

3033

return

ans;34}

35if(m>minus_num)

3641 ans=-ans;

42for(int i=minus_num;i)

4346

for(int i=m;i)

4750

return

ans;51}

52return0;

53}5455

intmain()

5666 sort(aim,aim+lenth);

67 printf("

%d\n

",solve());

68return0;

69 }

1 #include2 #include3 #include4 #include5 #include6 #include7 #include

8 #include9 #include10 #include11 #include

12using

namespace

std;

13long

long pos[100000]=;

14long

long neg[100000]=;

1516

intmain()

1731

if(m==0)//

負號個數為0

32 cout33else

if(m//

負號個數小於負數個數 34

39else

//負號個數大於負數個數

4048

return0;

49 }

第十屆藍橋杯省賽C B組 組隊

試題 a 組隊 本題總分 5 分 問題描述 作為籃球隊教練,你需要從以下名單中選出 1 號位至 5 號位各一名球員,組成球隊的首發陣容。每位球員擔任 1 號位至 5 號位時的評分如下表所示。請你計算首發陣容 1 號位至 5 號位的評分之和最大可能是多少?如果你把以上文字複製到文字檔案中,請務必檢查複...

第十屆藍橋杯省賽C B組 組隊

本題總分 5 分 問題描述 作為籃球隊教練,你需要從以下名單中選出 1 號位至 5 號位各一名球員,組成球隊的首發陣容。每位球員擔任 1 號位至 5 號位時的評分如下表所示。請你計算首發陣容 1 號位至 5 號位的評分之和最大可能是多少?如果你把以上文字複製到文字檔案中,請務必檢查複製的內容是否與文...

2019第十屆藍橋杯 I 胖子迷宮

題目意思 給你乙個n m的迷宮,能走,障礙物,乙個胖子一開始在3,3,體積為5 5 不過胖子走迷宮的目的是為了 給你乙個時間k,當到達時間k時,胖子餓瘦了變成3 3,當到達時間2 k時,更瘦了變成1 1 題目要求到達 n 2,m 2 這個點所需的最短時間。n,m 300,解決思路,參考hdu1026...