每年萬聖節,威斯康星的奶牛們都要打扮一番,出門在農場的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...