摘要: 证明不会:yxc说要用匈牙利算法,来确定增广路径;算法步骤:1.将牛按minspf从大到小排序2.每次取出满足当前条件,最大的spf。因为是按开始从大到小排序,所以假设x, y防晒,spfs[x] < spfs[y], 那么可能后面的牛能用到x,y,或者只用到x,或者都用不上。因为后面的牛可能可以用 阅读全文
posted @ 2020-04-14 23:59 ACWink 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 证明不会:yxc说要用匈牙利算法,来确定增广路径; 算法步骤: 1.将牛按minspf从大到小排序 2.每次取出满足当前条件,最大的spf。 因为是按开始从大到小排序,所以假设x, y防晒,spfs[x] 2 #include 3 #incl... 阅读全文
posted @ 2020-04-14 23:59 ACWink 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 毫无疑问这是一个贪心思想, 应该是活动安排那个题的拓展,本题的做法是:1.将所有牛按开始吃草的时间排序2.用小根堆维护当前所有畜栏的最后一头牛吃草结束的时间3.如果当前的牛可以安排在堆顶畜栏,则将其安排进去,否则创建以个新的畜栏反证法,假设存在一种方案,使得需要的畜栏数量更少,记其需要的畜栏数量是 阅读全文
posted @ 2020-04-14 23:49 ACWink 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 毫无疑问这是一个贪心思想, 应该是活动安排那个题的拓展, 本题的做法是: 1.将所有牛按开始吃草的时间排序 2.用小根堆维护当前所有畜栏的最后一头牛吃草结束的时间 3.如果当前的牛可以安排在堆顶畜栏,则将其安排进去,否则创建以个新的畜栏 反证法,假设存在... 阅读全文
posted @ 2020-04-14 23:49 ACWink 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 假设货仓左边所有点到仓库的距离是p, 右边是q, 总距离p+q, 由题可知,要让总距离最小,当仓库向左移动 p – x, 而 但是q会增加n−x,所以说当为仓库中位数的时候,p+qp+q最小。还是同样的一句话,画图理解很重要。 1 #includ... 阅读全文
posted @ 2020-04-14 09:58 ACWink 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 假设货仓左边所有点到仓库的距离是p, 右边是q, 总距离p+q, 由题可知,要让总距离最小,当仓库向左移动 p – x, 而 但是q会增加n−x,所以说当为仓库中位数的时候,p+qp+q最小。还是同样的一句话,画图理解很重要。 1 #include <iostream> 2 #include <al 阅读全文
posted @ 2020-04-14 09:58 ACWink 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 const int MAX = 200010; 5 int n,mm; 6 unordered_map<int, int> m;//无序map减少时间复杂度logn 7 8 struct nod 阅读全文
posted @ 2020-04-14 09:40 ACWink 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 using namespace std; 3 4 const int MAX = 200010; 5 int n,mm; 6 unordered_map m;//无序map减少时间复杂度logn 7 ... 阅读全文
posted @ 2020-04-14 09:40 ACWink 阅读(45) 评论(0) 推荐(0) 编辑