摘要:
bzoj1774[Usaco2009 Dec]Toll 过路费 题意: n点m边,从点a到b的费用为边权和加a到b经过点的点权最大值,给出q个询问问从a到b的最小费用。n≤200。 题解: 用先对点权排序,接下来用floyd算每两个点的最短路和最小费用,因为点权已经单调了,所以求路径的点权最大值之间 阅读全文
摘要:
bzoj2200[Usaco2011 Jan]道路和航线 题意: n点图,两种边:有向边,权值可能为负数。无向边,权值为正数。求单源最短路。n≤25000,边数≤100000。 题解: 听说spfa会挂,于是写了dijkstra,WA了n次后才知道dijkstra不能处理负权边QAQ。后来在ZS大爷 阅读全文
摘要:
bzoj1578[Usaco2009 Feb]Stock Market 股票市场 题意: 知道S只股票D天的价格。初始时有M元,问最后最多多少钱。S≤50,D≤10,M≤200000。 题解: 首先可以得出头日买了股票第二天立刻卖掉等价与拖几天再卖(因为可以卖掉后立刻买相同的数量)。故对每一天单独做 阅读全文
摘要:
bzoj2020[Usaco2010 Jan]Buying Feed, II 题意: FJ开车去买食物,如果他的车上有X份食物。每走一里就花费X元。 城市总共E里路,FJ从0开始走,到E结束(不能往回走),要买K份食物。 城里有N个商店,每个商店的位置是Xi,有Fi份食物,每份Ci元。 问到达E并买 阅读全文
摘要:
bzoj3043IncDec Sequence 题意: n个数,每次可以将区间l到r里的数+1或-1,问将它们变成同个数的最小操作次数和保证最小操作次数前提下有多少中可能。n≤100000。 题解: 先对原数组差分(得到的数组第一个为原数组第一个元素,之后的元素为原数组相邻元素之差),则原操作变为左 阅读全文
摘要:
bzoj1702[Usaco2007 Mar]Gold Balanced Lineup 平衡的队列 题意: N头牛,一共K种特色。每头牛有多种特色。[i,j]段被称为balanced当且仅当K种特色在[i,j]内拥有次数相同。求最大的[i,j]段长度。n≤100000,k≤30。 题解: 得到式子: 阅读全文
摘要:
bzoj1706[usaco2007 Nov]relays 奶牛接力跑 题意: 无向图,求刚好经过n条边的最小距离。边数≤100,n≤1000000。 题解: 边数≤100,说明点数不超过200。故可以用floyd。但要用一点技巧,即倍增floyd:定义最短路矩阵之间的乘法为对它们做floyd,则最 阅读全文
摘要:
bzoj1734[Usaco2005 feb]Aggressive cows 愤怒的牛 题意: n头牛,第i头坐标为xi,将它们分成c组,要求相邻两组最小距离最大。n≤100000。 题解: 二分最小距离。 代码: 20160929 阅读全文
摘要:
bzoj1652[Usaco2006 Feb]Treats for the Cows 题意: 管子里n个巧克力,第i个价值为ai。每天从左端点或右端点拿一个出来卖,收入为这个巧克力的价值*它是第几天卖出的。问最大价值。n≤2000 题解: dp:f[l][r]=max(f[l+1][r]+a[l]* 阅读全文
摘要:
bzoj1676[Usaco2005 Feb]Feed Accounting 饲料计算 题意: 知道草料到来时F1kg,第D天F2kg。同时知道每头牛到来时间和离开时间,一牛一天吃1kg草料,问草料到来是第几天。 题解: 直接用区间左端点对应数组元素++,右端点+1对应数组元素--的方法,最后扫一下 阅读全文