摘要: bzoj1637[Usaco2007 Mar]Balanced Lineup 题意: n头牛,第i头牛位置为ai,种族为bi(只能为0,1),求一个区间(按数轴位置),使得区间两端牛距离差最大且两种种族牛数相等。n≤50000。 题解: 按位置排序。然后利用前缀和sum[i][0]-sum[j-1] 阅读全文
posted @ 2016-09-23 21:42 YuanZiming 阅读(258) 评论(0) 推荐(0) 编辑
摘要: bzoj1486[HNOI2009]最小圈 题意: 定义图中一个环的平均值为环上边权和除以(浮点除法)边数,求一个图中的最小环平均值,保留8位。n≤3000,m≤10000,有负权边。 题解: 这就是比较明显的01分数规划了,见bzoj1690。同时根据题解二分60次就行了。 代码: 2016092 阅读全文
posted @ 2016-09-23 21:34 YuanZiming 阅读(132) 评论(0) 推荐(0) 编辑
摘要: bzoj1690[Usaco2007 Dec]奶牛的旅行 题意: n点m边有向图,点有点权,边有边权,奶牛想要从某点出发,走一些路使得经过的点权和除以(浮点数除法)边权和最大,求这个小数(保留两位)。n≤1000,m=5000。 题解: 01分数规划!太神了,然而我看不懂证明,所以直接给出算法。假设 阅读全文
posted @ 2016-09-23 21:19 YuanZiming 阅读(525) 评论(0) 推荐(0) 编辑
摘要: bzoj1592[Usaco2008 Feb]Making the Grade 路面修整 题意: 某条路n段,每段高度hi,现在要将路修成不上升或不下降序列,问最小费用,把高度a修成b费用为|a-b|。n≤2000。 题解: 有个结论,每段路修成的高度必定是原序列中已经出现过的高度(因为修好的路是非 阅读全文
posted @ 2016-09-23 21:04 YuanZiming 阅读(202) 评论(0) 推荐(0) 编辑
摘要: bzoj1827[Usaco2010 Mar]gather 奶牛大集会 题意: n点树(有边权),找出一个点,使得其它所有点到它的距离和最小。n≤100000。 题解: 类似bzoj1131,但维护深度和改为维护距离和。 代码: 1 #include <cstdio> 2 #include <cst 阅读全文
posted @ 2016-09-23 20:54 YuanZiming 阅读(204) 评论(0) 推荐(0) 编辑
摘要: bzoj1708[Usaco2007 Oct]Money奶牛的硬币 题意: n种硬币面值,求凑m元多少种方案。n≤25,m≤10000。 题解: 完全背包。f[0][0]=1,f[i][j]=sum(f[i-1][j],f[i][j-a[k]])。 代码: 1 #include <cstdio> 2 阅读全文
posted @ 2016-09-23 20:50 YuanZiming 阅读(151) 评论(0) 推荐(0) 编辑