#Feb

P2874 [USACO07FEB]新牛棚Building A New Barn

Afterscrimpingandsavingforyears,FarmerJohnhasdecidedtobuildanewbarn.Hewantsthebarntobehighlyaccessible,andheknowsthecoordinatesofthegrazingspotsofallN(2≤N≤10,00...

P3074 [USACO13FEB]牛奶调度Milk Scheduling

FarmerJohn'sNcows(1<=N<=10,000)areconvenientlynumbered1..N.EachcowitakesT(i)unitsoftimetomilk.Unfortunately,somecowsmustbemilkedbeforeothers,owingtothelay...

BZOJ4997 [Usaco2017 Feb]Why Did the Cow Cross the Road III

  在n*n的区域里,每一个1*1的块都是一个格子。  有k头牛在里面。  有r个篱笆把格子分开。  如果两头牛可以不经过篱笆走到一起(过程中不能出界),那么他们就是不互相远离的,反之就是互相远离的。  问有多少对牛是互相远离的。注意(x,y)和(y,x)算作同样的。  对于同一区域的牛,我们可以相同对待。  所以我们...

BZOJ4994 [Usaco2017 Feb]Why Did the Cow Cross the Road III 树状数组

  给定长度为2N的序列,1~N各处现过2次,i第一次出现位置记为ai,第二次记为bi,求满足ai<aj<bi<bj的对数。  n<=100000(这个数据范围是我凑出来的,但是我没试过更小的范围,BZOJ上没写数据范围(截止2017-08-24))   水题,开一个树状数组在线解决。...

BZOJ4989 [Usaco2017 Feb]Why Did the Cow Cross the Road 树状数组 逆序对

  一条马路的两边分别对应的序列A、B,长度为n,两序列为1到n的全排列。当Ai=Bj时,两边之间会连一条边。你可以选择序列A或序列B进行旋转(只能使队尾或队头位置上的数字变成队头或队尾上的数字)任意K(0<=K<n)步,如123,可以变成231或312。求旋转后,最少的边的交叉数。   两个都可...

BZOJ4990 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组

  有上下两行长度为n的数字序列A和序列B,都是1到n的排列,若abs(A[i]-B[j])<=4,则A[i]和B[j]间可以连一条边。现求在边与边不相交的情况下的最大连边数量。  我们用dp[i][j]表示枚举到A序列的第i个位置,与B序列的第j个位置匹配,所得到的最大效益,这样显然是要超时的,但是不妨去思考一...

BZOJ4993 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组

  有上下两行长度为n的数字序列A和序列B,都是1到n的排列,若abs(A[i]-B[j])<=4,则A[i]和B[j]间可以连一条边。现求在边与边不相交的情况下的最大连边数量。   我们用dp[i][j]表示枚举到A序列的第i个位置,与B序列的第j个位置匹配,所得到的最大效益,这样显然是要超时的,但是...

BZOJ4992 [Usaco2017 Feb]Why Did the Cow Cross the Road 最短路 SPFA

  在一幅n*n的地图上,Amber从左上角走到右下角,每走一步需要花费时间t,每走完3步时,还要加上到达的那个格子的值。这里的3步不包括起动的那个格子。如果刚好3步到达右下角,则右下角格子的值也要算进花费中,否则不用计算进去。求最小花费。n<=100  最短路写一写就可以了,居然不卡spfa!  有一个点要注意...

BZOJ4409 [Usaco2016 Feb]Circular barn 动态规划 斜率优化

原文链接http://www.cnblogs.com/zhouzhendong/p/8724739.html  有一个N个点的环,相邻两个点距离是1。点顺时针标号为1..N。最初每一个点是空的。要求最终点i存在ri头牛。你有∑ri头牛。你可以选择最多k个点,然后把你的牛任意分配在这k个点里。之后,每一头牛可以选...

BZOJ1592 POJ3666 [Usaco2008 Feb]Making the Grade 路面修整 左偏树 可并堆

  整条路被分成了N段,N个整数A_1,...,A_N (1<=N<=2,000)依次描述了每一段路的高度(0<=A_i<=1,000,000,000)。FJ希望找到一个恰好含N个元素的不上升或不下降序列B_1,...,B_N,作为修过的路中每个路段的高度。由于将每一段路垫高或挖低一个...