摘要:
bzoj1455罗马游戏 题意: 维护数据结构支持合并和弹出最小值。n≤1000000,m≤100000 题解: 可并堆,注意本题合并时要判断两个节点是否在同一个堆中。本弱写了左偏树和斜堆,发现斜堆比左偏树快,不知道为什么,求神犇解答。 代码: 20160810 阅读全文
摘要:
bzoj3399[Usaco2009 Mar]Sand Castle城堡 题意: 给个序列a,再给个可变换顺序的序列b,求a变为b的最小代价。a增加一个单位代价为x,降低一个单位代价为y。序列大小≤25000 题解: a,b排序,直接统计即可。 代码: 20160810 阅读全文
摘要:
bzoj3390[Usaco2004 Dec]Bad Cowtractors牛的报复 题意: 最大生成树。 题解: 最大生成树。 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #define inc(i,j 阅读全文
摘要:
bzoj1648[Usaco2006 Dec]Cow Picnic 奶牛野餐 题意: K只奶牛分散在N个牧场,问多少地点是所有奶牛都可到达的地方。n≤1000 题解: 倒插边然后对每个点dfs,如果经过的奶牛为k则累计答案。注意可能有多只牛在同个牧场,要用数组记录。 代码: 20160810 阅读全文
摘要:
bzoj3479[Usaco2014 Mar]Watering the Fields 题意: 草坪上有N个水龙头,修剪两个水管费用为欧几里得距离的平方。 修水管的人只愿意修费用大于等于c的水管,问将水龙头联通的最小总费用。N≤2000 题解: 最小生成树。 代码: 1 #include <cstdi 阅读全文
摘要:
bzoj1711[Usaco2007 Open]Dining吃饭 题意: 每头牛都喜欢几种食品和饮料,现在每种食品和饮料都有一个,问最多能使多少头牛同时获得喜欢的食品和饮料。牛数、饮料数、食品数≤500 题解: 最大流,源向所有食品连边,食品向被喜欢的牛连边,牛向喜欢的饮料连边,饮料向汇连边,流量都 阅读全文
摘要:
bzoj1604[Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 题意: n只牛,牛结成群当且仅当两只牛曼哈顿距离≤c或存在第三头牛使两头牛与它的曼哈顿距离都≤c,求最大的群和群数。n≤100000 题解: 好神啊。先把曼哈顿距离转成切比雪夫距离,(x,y)转为(x+y 阅读全文