USACO1 6 解題報告

2022-09-03 04:42:10 字數 1615 閱讀 5594

這章的三道題目中有兩道是可以用dfs

dfs做的,另外一道要用到一些數論。(或者大打表?)us

acou

saco

的第一章算是刷完了。這一張總體來說不算太難,主要都是一些簡單的模擬,貪心或者dfs

dfs和一些最基礎的數論。算是鞏固了一下吧。

usaco:

思路:太經典啦這道題。

相信初學dp的oie

roie

r都做過吧。。。

當然深搜也是可以過的。設f[

i][j

]f[i

][j]

表示搜到第i

i行第j

j列的最大和,由於只能從左上或上方轉移,所以就有:f[

i][j

]=ma

x(f[

i−1]

[j−1

],f[

i−1]

[j])

+f[i

][j]

f[i]

[j]=

max(

f[i−

1][j

−1],

f[i−

1][j

])+f

[i][

j](一開始f[i

][j]

f[i]

[j]儲存的是第i

i行第j

j列的數字)

答案就是max

(f[n

][i]

)max

(f[n

][i]

)。**:

#include

#include

#define n 1010

using

namespace std;

int f[n]

[n],n,ans;

intmain()

for(

int i=

1;i<=n;i++

) ans=

max(ans,f[n]

[i])

;printf

("%d\n"

,ans)

;return0;

}

題解

思路:由於質數末尾不能是除2

2以外的偶數,所以每個位置只要列舉是1,2

,3,5

,7,9

1,2,

3,5,

7,9中的哪乙個就可以了。

對於每一位,篩一次質數即可。

**:

/*

id:ssl_zyc2

task:sprime

lang:c++

*/#include

#include

using

namespace std;

const

int f=

;int n,a[11]

;bool

prime

(int m)

//篩質數

void

dfs(

int x)

for(

int i=

1;i<=

6;i++)}

intmain()

解題報告 USACO 酸奶工廠

奶牛經營了一家酸奶工廠,生意非常紅火。在接下去的 n 個月裡,第 i 個月需要向社會提供 a i 噸酸奶。酸奶的生產受到很多因素的影響,所以每個月的生產成本是變化的,其中第 i 個月的成本是 每噸 c i 元。奶牛可以提前裡把酸奶做好,存在倉庫裡,等需要的時候再拿出來賣。儲存在倉庫裡的酸奶,每 噸酸...

USACO 4 2解題報告

求最大流。模板題,dinic即可。給出每個奶牛所喜愛的牛棚,每個奶牛只在它喜愛的牛棚中才能產奶,每個牛棚最大容納乙隻奶牛,求最多能讓多少奶牛產奶。最大流問題,源點向每頭奶牛連一條容量為1的邊,每頭奶牛向它喜愛的牛棚連一條容量為1的邊,每個牛棚向匯點連一條容量為1的邊,dinic求出最大流。每個工件要...

USACO 4 4解題報告

題目翻譯 直接進行廣度優先搜尋,為了節省空間,將每個狀態作為字串,若set中已有該串,則不搜尋該狀態 否則將該串插入set並搜尋該狀態。為了使字典序最小,每次w只向右移動,b只向左移動。題目翻譯 實質上是最小割問題,為了使邊數最小且使字典序最小,每條邊的容量 1001 1 5000 i i為邊的序號...