P2921 USACO08DEC 在農場萬聖節

2021-09-25 15:27:40 字數 882 閱讀 9937

每年萬聖節,威斯康星的奶牛們都要打扮一番,出門在農場的n個牛棚裡轉 悠,來採集糖果.她們每走到乙個未曾經過的牛棚,就會採集這個棚裡的1顆糖果.

農場不大,所以約翰要想盡法子讓奶牛們得到快樂.他給每乙個牛棚設定了乙個「後繼牛 棚」.牛棚i的後繼牛棚是next_i 他告訴奶牛們,她們到了乙個牛棚之後,只要再往後繼牛棚走去, 就可以蒐集到很多糖果.事實上這是一種有點欺騙意味的手段,來節約他的糖果.

第i只奶牛從牛棚i開始她的旅程.請你計算,每乙隻奶牛可以採集到多少糖果.

第i只奶牛從牛棚i開始她的旅程.請你計算,每乙隻奶牛可以採集到多少糖果.

#include

#define m(a, b) memset(a, b, sizeof(a))

#define inf 0x3f3f3f3f

#define mod 10000007

using

namespace std;

inline

void

read

(int

&x)while

(ch>=

'0'&& ch<=

'9')

if(c==

'-')x=

-x;}

const

int maxn=

100005

;int n,i,k,cnt=0;

int next[maxn]

,col[maxn]

,dfn[maxn]

,dfn2[maxn]

,cow[maxn]

;int

main()

else

if(col[i]

==k)

else}}

}

P2921 USACO08DEC 在農場萬聖節

一道不錯的記搜題。由於每乙個人點的出度只能是1,所以我們不難發現 每一條在環上的邊只能屬於一條環。換句話說 任何一條邊頂多屬於乙個環。這樣我們就可以用簡單的記搜來實現。設具體的實現細節見 include includeusing namespace std const int maxn 100020...

洛谷 P2894 USACO08FEB 酒店

題目描述 用線段樹維護三個值 區間最長空位長度,從左端點可以延伸的最長空位長度,從右端點可以延伸的最長空位長度。include include using namespace std const int n 2e6 7 int n,m intlen n max n maxl n maxr n laz...

USACO08MAR 土地購買

點此看題 首先考慮如果有乙個塊長和寬都比另乙個塊要小,那麼這個塊就沒有存在的意義了,我們可以先排序 長為第一關鍵字,寬為第二關鍵字,從小到大 然後從後往前掃,期間維護寬的最大值,如果最大值不比當前寬小,那麼這個塊沒用,我們去除完沒用的點之後再排一遍序 方法一樣 這樣就可以愉快的dpdp dp了,設d...