2020 06 01 習題訓練4

2022-09-06 18:12:07 字數 2863 閱讀 4636

a - dreamoon and ranking collection

大題:找到乙個從1開始連續的陣列。條件是在給出的陣列後,再給你們k個空填補這個陣列,讓這個陣列從1開始到k是連續得,k是最大的。

做法:使用map記錄出現或者沒出現,然後根據x的大小列舉出多少個沒有出現的數,最後得出最大值。

#includeusing

namespace

std;

typedef

long

long

ll;const

int maxn=1e5+10

;int

main()

intans;

for(int i = 1;;i++)

//cout) }

cout

} return0;

}

c - exercising walk

題意:判斷走得步數能不能只在這個四邊形中。

做法:思維題,考慮全部情況就行,如果走的絕對值步數會大於絕對值半徑,那必no,再判斷一下特殊情況,就是位置只有乙個點的時候,也是no,根本走不動。

#includeusing

namespace

std;

typedef

long

long

ll;const

int maxn=1e5+10

;int

main()

else

cout

<<"no"

<}

return0;

}

d - composite coloring

題意:根據1~11個質數,對陣列進行分類。

做法:直接先求出這11個質數,輸入的時候進行判斷是不是第一次,是第一次,顏色加1.

#includeusing

namespace

std;

typedef

long

long

ll;const

int maxn=1e5+10

;bool

is(int

n)int n,a0[1007], a[1007], ans[1007], res[1007

],cnt,k;

intmain()}}

cout

for(int i =1;i<=n;i++)

cout

<<"\n"

;

} return0;

}

e - k-th beautiful string

題意。根據給的長度,和大小輸出乙個字元,包括倆b,其餘都是a;

做法:很簡單的排序,從右往左看,當前b在倒數第二位時,後b只有1中可能,當前b在倒數第三的時候,後b兩種可能。而且是從小到大的順序,就可以的出,這種順序就算1+2+3+4+5+6,我們就判斷一下大小在那個區間就可能的出前b的位置,後b的位置亦然。

#includeusing

namespace

std;

typedef

long

long

ll;const

int maxn=1e5+10

;int t,n, a[1007], ans[1007], res[1007

],k,sum;

intmain()

r=n-r;

k=sum-k;

for(int i =1;i<=n;i++)

cout

<<"\n"

;

} return0;

}

題意:用最少的顏色給乙個圓環邊上的元素塗顏色,不相同的不能吐一樣的顏色。

做法:這樣最大也就3種顏色。

第一種可能是都一樣,都一種顏色。第二種是陣列長度為偶數,直接輸出12121212……,第三種是長度為奇數,但是若,陣列中間有連續的相同的元素,他們兩個可以一樣的顏色,然後接著12121212。第四種就是最後的元素和最開頭的元素相等,只能12121212……3(第三種不成立再用)。

#includeusing

namespace

std;

typedef

long

long

ll;const

int maxn=2e5+10

;int

t,n,k,a[maxn];

intmain()

if(a[0]!=a[n-1]) flag=1

;

if(a[0]==a[n-1]) pos= 0

;

if(flag==0

) cout

<}

else

if(n%2==0

) cout

<}

else

if(tmp==1

) tmp=2

;

else

tmp=1

;

if(i!=0

) cout

<<"";

cout

<}

cout

<}

else

if(flag==1

)

cout

<<"3"

<}

}

} return0;

}

訓練4 習題9

題目 problem description 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是...

訓練3 習題10

題目 problem description 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,請輸...

訓練3 習題16

題目 problem description 在一無限大的二維平面中,我們做如下假設 1 每次只能移動一格 2 不能向後走 假設你的目的地是 向上 那麼你可以向左走,可以向右走,也可以向上走,但是不可以向下走 3 走過的格仔立即塌陷無法再走第二次 求走n步不同的方案數 2種走法只要有一步不一樣,即被...