Week13必做部分

2021-10-06 17:03:30 字數 2837 閱讀 5272

題目大意

給定兩個數字,分別表示 n 和 k,並要求給出 k 個奇偶性相同的正整數,使得其和等於 n,例如 n = 10,k = 3,答案可以為 [4 2 4]。本題是spj

思路這個題乍一看沒有頭緒,其實仔細想一下:題目只需要奇偶性相同就可以,試想,若乙個數可以分成全是奇數的組合,則一定可以拆分為1+1+1+…+乙個奇數;若全是偶數可以組成,則一定可以拆分為:2+2+2…+乙個偶數。所以只需要判斷這兩種情況就可以了

**

#include

using

namespace std;

intmain()

if(i)

printf

(" ");

printf

("%lld\n"

,s);

}else

if(m%2==

0&& m>0)

if(i)

printf

(" ");

printf

("%lld\n"

,m);

}else

printf

("no\n");

}return0;

}

題目大意

給定兩個數字,分別表示 n 和 k,要求給出無法被 n 整除的第 k 大的正整數。例如 n = 3,k = 7,則前 7 個無法被 n 整除的正整數為 [1 2 4 5 7 8 10],所以第7個為 10。

思路這個題實際要求的是:無法被 n 整除 n的倍數 ,只需要想到,無法被n整除的數,一定分布在:m*n~(m+1)*n之間,其中m大於等於0。所以,我們只需要先計算出k屬於哪個區間內: k/(n-1), 再計算內部的偏移量:k%(n-1)。如果偏移量為0,則說明是上乙個區間的最後乙個數;若不為0,則為本區間的數。

**

#include

using

namespace std;

//無法被 n 整除 n的倍數

long

long n,k;

intmain()

return0;

}

題目大意

貓咪從天上往下掉,且只會掉在 [0, 10] 範圍內,tt 初始站在位置五上,且每秒只能在移動不超過一公尺的範圍內接住掉落的貓咪,如果沒有接住,貓咪就會跑掉。例如,在剛開始的一秒內,tt 只能接到

四、五、六這三個位置其中乙個位置的貓咪。

輸入給出不同時刻,貓咪的掉落位置,輸出tt最大可獲得的貓咪數量。

思路首先,通過輸入,得到不同時刻,每個點掉落的數量,並且獲得掉落持續的總時間。之後,設定狀態為f[k

][t]

f[k][t]

f[k][t

],即當tt在座標為k的位置,時間是第t秒,可以獲得的總數量。轉移方程就是:從t-1時刻的3個位置,向k轉移

f [k

][t]

=max

(f[k

−1][

t−1]

,f[k

][t−

1],f

[k+1

][t−

1])+

g[k]

[t

]f[k][t]=max(f[k-1][t-1],f[k][t-1],f[k+1][t-1])+g[k][t]

f[k][t

]=ma

x(f[

k−1]

[t−1

],f[

k][t

−1],

f[k+

1][t

−1])

+g[k

][t]

g [k

][t]

g[k][t]

g[k][t

]是掉落的數量。

但要注意的是,因為t-1時刻下,k-1,k+1,k 並不是都可以來更新k位置,因為只有tt可能出現位置的左右乙個單位之內,才可以轉移狀態,所以需要額外記錄時刻t,位置k是否有效:val

[k][

t]

val[k][t]

val[k]

[t],因此轉移方程變為:

if((val[k-1]

[t-1

]|val[k]

[t-1])

|val[k+1]

[t-1

]) f[k]

[t]=

max(f[k-1]

[t-1

]*val[k-1]

[t-1],

max(f[k]

[t-1

]*val[k]

[t-1

],f[k+1]

[t-1

]*val[k+1]

[t-1])

)+g[k]

[t];

最後,對t時刻的所有位置取max即可

**

#include

#include

#include

using

namespace std;

int g[15]

[100099];

int f[15]

[100099];

int val[15]

[100099];

//是否有效

intmain()

for(

int t=

1;t<=maxt;t++

)else

if(k==10)

else

if(tag>0)

}}printf

("%d\n"

,ans);}

return0;

}

程式設計Week13 必做部分

這一天,tt 遇到了乙個神秘人。神秘人給了兩個數字,分別表示 n 和 k,並要求 tt 給出 k 個奇偶性相同的正整數,使得其和等於 n。例如 n 10,k 3,答案可以為 4 2 4 tt 覺得這個任務太簡單了,不願意做,你能幫他完成嗎?本題是spj input 第一行乙個整數 t,表示資料組數,...

Week13 作業 必做

a tt 的神秘任務1 這一天,tt 遇到了乙個神秘人。神秘人給了兩個數字,分別表示 n 和 k,並要求 tt 給出 k 個奇偶性相同的正整數,使得其和等於 n。例如 n 10,k 3,答案可以為 4 2 4 tt 覺得這個任務太簡單了,不願意做,你能幫他完成嗎?本題是spj input 第一行乙個...

week13 C TT 的獎勵(必做)

在大家不辭辛勞的幫助下,tt 順利地完成了所有的神秘任務。神秘人很高興,決定給 tt 乙個獎勵,即白日做夢之撿貓咪遊戲。撿貓咪遊戲是這樣的,貓咪從天上往下掉,且只會掉在 0,10 範圍內,具體的座標範圍如下圖所示。tt 初始站在位置五上,且每秒只能在移動不超過一公尺的範圍內接住掉落的貓咪,如果沒有接...