摘要: bzoj1682[Usaco2005 Mar]Out of Hay 干草危机 题意: 给个图,每个节点都和1联通,奶牛要从1到每个节点(可以走回头路),希望经过的最长边最短。 题解: 求最小生成树即可。 代码: 1 #include <cstdio> 2 #include <cstring> 3 # 阅读全文
posted @ 2016-09-20 21:36 YuanZiming 阅读(196) 评论(0) 推荐(0) 编辑
摘要: bzoj1108[POI2007]天然气管道Gaz 题意: n个钻井,n个站,要求两两配对,但站必须在钻井的右下方。配一对的费用为两点的曼哈顿距离,求最小总费用。n≤50000。 题解: 发现满足条件站必须在钻井的右下方的所有配对方案的总费用是相同的,所以直接用站横坐标的和减钻井横坐标的和加上钻井纵 阅读全文
posted @ 2016-09-20 21:30 YuanZiming 阅读(138) 评论(0) 推荐(0) 编辑
摘要: bzoj3709[PA2014]Bohater 题意: n只怪物,打死第i只要耗ai血,打死后补bi血。如果你血≤0就会死。你现在有z血,问怎样的顺序可以打死所有怪。n≤100000。 题解: 先打bi大于ai的怪攒血,此时按ai升序排序。因为先杀耗血少的再杀耗血多的,则为下一步提供了更高的可能性。 阅读全文
posted @ 2016-09-20 21:25 YuanZiming 阅读(390) 评论(0) 推荐(0) 编辑
摘要: bzoj1131[POI2008]Sta 题意: 给出一个n个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大。n≤1000000。 题解: 两次dfs。第一次dfs维护子树的大小、节点的深度、以子树的根为根的子树深度和。第二次dfs维护以某节点为根除了以1为根时它的子树之外的所有节点 阅读全文
posted @ 2016-09-20 21:12 YuanZiming 阅读(153) 评论(0) 推荐(0) 编辑
摘要: bzoj1529[POI2005]ska Piggy banks 题意: n个存钱罐,每个罐子的钥匙都在另外某个存钱罐里,问最少打破几个存钱罐,才能得到所有存钱罐里的钱。n≤1000000。 题解: 因为每个存钱罐只有一把钥匙,所以整幅图都是由一些互不连接的连着一个环的链组成,而打破存钱罐的个数正是 阅读全文
posted @ 2016-09-20 21:07 YuanZiming 阅读(149) 评论(0) 推荐(0) 编辑