CSP2020試題解法與總結(遊記)

2021-10-10 13:03:00 字數 2670 閱讀 1343

考試前一天晚,沒上競賽課,教練叫我們在家做題,別說不愧是信心賽題目都海星,做完後就睡覺了不過有一道題資料好像錯了

早上6:00就起床了,可能是想跟著大部隊吧,沒有直接去考場而是去了學校,一行人都上了車,不過初一是在是太吵了(跟我們初一時一樣)

上了車跟一旁的yzk一起背了一下模板然後差不多就到了nk。不得不說nk的硬體真的要好億一些。

考前教練反覆跟我們說一定要儲存,一定要調整好心態。(不然就是給ccf送錢)

拿到第一道題一眼看穿就是從大到小看小於2的幾次方,之後再減,打完過完樣例就跑了

t1.馬蜂清奇

#include

intpow

(int f)

sum *

= sum;

f >>=1;

}return ans;

}int

main()

for(

int i = tot; i >=

1; i --)}

if(g !=0)

else}}

return0;

}

t2.

考試的時候沒有看資料範圍成績<=600,於是就打了乙個n^2的略帶優化的**就草草了事,考後才發現直接桶排(600n)就可以了

考試時的**

#include

#include

using

namespace std;

struct lx a[

100005];

intmax

(int x,

int y)

intmin

(int x,

int y)

bool

cmp(lx x, lx y)

return x.l > y.l;

}int

main()

sort

(a +

1, a +

1+ n, cmp)

;for

(int i =

1; i <= n; i ++)}

printf

("%d "

, ans);}

return0;

}

正解

#include

#include

using

namespace std;

struct lx a[

100005];

int s[

605]

;int

max(

int x,

int y)

intmin

(int x,

int y)

bool

cmp(lx x, lx y)

return x.l > y.l;

}int

main()

}}}return0;

}

t4.

考試的時候可能是太浮躁了,沒有認真想就先開始打了**,打了dfs爆搜,和瞎搞最短路spfa兩種,中間也想到是dp,當時想的時候認為跟數字三角形很像,但總覺得有後效型降智了,於是就沒有認真打,其實只要從左向右列舉,每次只考慮(上面,左面,下面)的情況就不會有後效性了,於是就可以在內層迴圈從上到下,從下到上分別dp,討論兩種情況就可以了方程是:

dp[i][j][0] = max(dp[i - 1][j][0], max(dp[i][j - 1][0], dp[i][j - 1][1])) + a[i][j];

和 dp[i][j][1] = max(dp[i + 1][j][1], max(dp[i][j - 1][0], dp[i][j - 1][1])) + a[i][j];

#include

#include

#define int long long

int dp[

1005][

1005][

5];int a[

1005][

1005];

intmax

(int x,

int y)

signed

main()

}memset

(dp,

-0x3f

,sizeof

(dp));

dp[0]

[1][

0]=0

;for

(int i =

1; i <= n; i ++

) dp[i][1

][0]

= a[i][1

]+ dp[i -1]

[1][

0];for

(int j =

2; j <= m; j ++

)for

(int i = n; i >=

1; i --)}

printf

("%lld"

,max

(dp[n]

[m][1]

, dp[n]

[m][0]

));}

csp-j就這樣結束了,考得不是很好,但還是學到了很多,明白了考試時一定要看資料範圍(面向資料程式設計)懂得都懂,打**時一定要慢,想好了在答題,不然我自己就是前車之鑑。

CSP2020試題解法與總結(遊記)

考試前一天晚,沒上競賽課,教練叫我們在家做題,別說不愧是信心賽題目都海星,做完後就睡覺了不過有一道題資料好像錯了 早上6 00就起床了,可能是想跟著大部隊吧,沒有直接去考場而是去了學校,一行人都上了車,不過初一是在是太吵了 跟我們初一時一樣 上了車跟一旁的yzk一起背了一下模板然後差不多就到了nk。...

CSP2020 函式呼叫

點此看題 從部分分的做法入手,當只有加法操作的時候利用拓撲序下傳標記的方法是明顯的。但是多了乙個乘法,此時不要考慮成 一起乘 這樣攪在一起想是很難受的。其實 a aa 陣列是個空殼子,因為拿到所有2 22操作的乘積是很容易的 直接拓撲 所以我們只用考慮乘法對加法的貢獻。首先我們從大的操作順序上去考慮...

CSP 2020初賽遊記

第2次參加csp 每天筆試 機試 在家放鬆 寫作業 雞鴨月考 愉快的在別人月考的時候離開雞鴨 坐車,車位置不夠,教練cdc cdccd c向我發出同車邀請,被拒絕 最後做了大巴的司乘專座 快樂 到了紀中門口,還要等cdc cdccd c的小車車到才能下車 明明比三鑫早到結果不能下車,啊這 結果c d...