codeVS 2651 孔子教學 同桌

2021-08-15 07:59:29 字數 1397 閱讀 8635

將所有情況列舉: 總感覺dfs  和dp 有千絲萬縷關係

題目描述 description

孔子是我國古代著名的教育家。他有先見之明,可以判斷學生出師以後給他帶來的聲望。聲望共有三種「g」「m」「b」,「g」可以給他帶來3點聲望,「m」可以給他帶來2點聲望,「b」可以讓他丟失2點聲望。每個學生出師後的聲望為ai。當然,學生出師的時間不同,第i個的學生需要bi個單位時間。他每次只能教1名學生。他共有x個學生,有y個單位時間,但必須教z名學生。求孔子可獲得的最大聲望。

輸入描述 input description

輸入格式:

x z y

a1 b1

ax bx

輸出描述 output description

輸出格式:

ans(為最大聲望)

無解輸出- 1

樣例輸入 sample input

例一:2 2 2

g 0g 2

例二:4 2 2

b 1b 1

g 4m 3

樣例輸出 sample output

例一:例二:-4

資料範圍及提示 data size & hint

x<=10,z<=a,y<=200,聲望可能為負數,保證時間大於0,但不一定有解。

t解答:

dfs(i

,tot+1

,pride+s

[i].w

,time-s

[i].p

);

#include

#include

#include

using

namespace

std;

#define f(i,l,r) for(int i=l;i<=r;++i)

#define g(i,l,r) for(int i=l;i>=r;--i)

intx,y

,z,r

,ans

=-0x7fffffff

;boolv[

11];

structs[

12];

void

dfs(

intnow

,int

tot,

intpride

,int

time)}

}int

main()}

dfs(0,

0,0,

y);if(

ans==-

0x7fffffff

)cout

<<-

1<<

endl

;else

cout

<<

ans<<

endl

;}

265 粉刷房子 II

首先這題可以和粉刷房子這題一樣解法,對於i號房子,遍歷k種顏色,對於每一種,都去找i 1號房子除該顏色之外的最小花費。但上一題是3種顏色,總複雜度o n 這題k種顏色,複雜度o nk 2 題目要求o nk 則對於i號房子我們儲存下當前房子最小的花費以備i 1號房子使用,但因為相鄰房子不能塗相同顏色的...

265 粉刷房子 II

題目描述 假如有一排房子,共 n 個,每個房子可以被粉刷成 k 種顏色中的一種,你需要粉刷所有的房子並且使其相鄰的兩個房子顏色不能相同。當然,因為市場上不同顏色油漆的 不同,所以房子粉刷成不同顏色的花費成本也是不同的。每個房子粉刷成不同顏色的花費是以乙個 n x k 的矩陣來表示的。例如,costs...

html5中h265 H265之格式解析

頭定義如下 前面 4個位元組位00 00 00 01 為nul頭,這個和h264是一樣的。下面兩個位元組為40 01 二進位制 0100 0000 0000 0001 f 0 naltype 100 000 32 vps layerid 0 0000 0 0 tid 001 1 再根據h265的na...