USACO 补完(TJ)计划

5279: [Usaco2018 Open]Disruption

树剖模板题

1722: [Usaco2006 Mar] Milk Team Select 产奶比赛

树形DP

令\(f[i][j][0/1]\)表示到第\(i\)个点有\(j\)对母子关系,取/不取

sb题调了半天TAT

1828: [Usaco2010 Mar]balloc 农场分配

线段树维护贪心

1705: [Usaco2007 Nov]Telephone Wire 架设电话线

直接暴力DP

1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛

LIS

1231: [Usaco2008 Nov]mixup2 混乱的奶牛

状压DP

令\(f[i][st]\)表示当前状态为\(st\),最后一个数为\(val[i]\)的方案数

直接枚举转移即可

1690: [Usaco2007 Dec]奶牛的旅行

分数规划

\(mid \leq \frac{\sum Point\ val_i }{\sum Edge \ val_j} \rightarrow \) \(mid \cdot (\sum Edge\ val_j) – \sum Point\ val_i \leq 0\)

dfs判负环即可

1711: [Usaco2007 Open]Dining吃饭

最大流

建模:

Total:

2442: [Usaco2011 Open]修剪草坪

令\(f[i][0/1]0/1\)表示不取/取\(i\)的最大值

易得方程:

线段树维护\(f[i][0]-sum[i]\)即可

1725: [Usaco2006 Nov]Corn Fields牧场的安排

状压DP

1717: [Usaco2006 Dec]Milk Patterns 产奶的模式

二分+Hash

1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典

直接上最暴力的DP即可(不要想太多…)

1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚

DIJ建模

1682: [Usaco2005 Mar]Out of Hay 干草危机

Kruskal

1628: [Usaco2007 Demo]City skyline

单调栈

1627: [Usaco2007 Dec]穿越泥地

bfs

1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路

Floyd

1640: [Usaco2007 Nov]Best Cow Line 队列变换

模拟+贪心

1651: [Usaco2006 Feb]Stall Reservations 专用牛棚

差分

1679: [Usaco2005 Jan]Moo Volume 牛的呼声

推式子

1646: [Usaco2007 Open]Catch That Cow 抓住那只牛

bfs

1657: [Usaco2006 Mar]Mooo 奶牛的歌声

单调栈

1677: [Usaco2005 Jan]Sumsets 求和

递推

1660: [Usaco2006 Nov]Bad Hair Day 乱发节

单调栈

1636: [Usaco2007 Jan]Balanced Lineup

RMQ

1621: [Usaco2008 Open]Roads Around The Farm分岔路口

模拟

1611: [Usaco2008 Feb]Meteor Shower流星雨

bfs

1626: [Usaco2007 Dec]Building Roads 修建道路

Kruskal

1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛

方案DP

令\(f[t][i][j]\)表示\(t\)时\((i,j)\)的方案数

1625: [Usaco2007 Dec]宝石手镯

01背包DP

1609: [Usaco2008 Feb]Eating Together麻烦的聚餐

求两次最长不降子序列即可(正反)

1674: [Usaco2005]Part Acquisition

最短路

1635: [Usaco2007 Jan]Tallest Cow 最高的牛

差分

1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场

sort后bfs

1613: [Usaco2008 Jan]Running贝茜的晨练计划

DP

\(f[i][j]\)表示第\(i\)分钟,疲惫值为\(j\)的最远距离

\(f[i][0]=max(f[i-1][0],f[i-j][j])\)

\(f[i][j]=f[i-1][j-1]+Di\)

1600: [Usaco2008 Oct]建造栅栏

DP

1.构成四边形的条件:三边之和大于第四边,故每条边不超过\(n/2\),即\(mxlen=n/2-1\)

2.总的方案数,可从最后一条边考虑起,最后一条边有多少种情况,再依次加上前面得出的结果

令\(f[i][j]\)表示划分到第\(i\)块,总长为\(j\)的方案数

\(f[i][j]=Σf[i-1][j-k]\)

其中,\(k\)表示第\(i\)块的长度,满足\(1<=k<=min(mxlen,j)\)

5142: [Usaco2017 Dec]Haybale Feast

二分