![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
0/1分数规划
zxyoi_dreamer
退役了退役了爬了爬了,搞个锤子算法竞赛,不如好好享受大学生活。
展开
-
【BJOI2019】奥术神杖(分数规划)(AC自动机)
传送门 题解: 对代价取一个Ln之后就是分数规划的裸题,匹配按照套路使用AC自动机即可。 代码: #include<bits/stdc++.h> #define ll long long #define re register #define cs const inline bool ckmax(double &a,cs double &b){return a&l...原创 2019-10-17 20:34:09 · 110 阅读 · 0 评论 -
2018.09.12【USACO 2001 open GREEN】重建家园(最优比率生成树)
描述 地震已经破坏了农夫约翰所有的农场以及所有连接农场的道路。作为一个意志坚强的人,他决定重建所有的农场。在重建全部N(1 &lt;= N &lt;= 400)个农场之前,首先必须把所有农场用道路连接起来,即任意两个农场之间必须有至少一条通路。 在研究了地图之后,农夫约翰已经得出了结论:M(1 &lt;= M &lt;= 10,000)条双向的道路可以在较短的时间内建造好。由于约翰的资金有限,...原创 2018-09-12 21:05:20 · 364 阅读 · 0 评论 -
【模板】0/1分数规划
参考题目:POJ2976 解析: ####1.分数规 代码(二分): #include&amp;amp;amp;amp;amp;amp;amp;lt;cstdio&amp;amp;amp;amp;amp;amp;amp;gt; #include&amp;amp;amp;amp;amp;amp;amp;lt;cctype&amp;amp;amp;amp;amp;amp;amp;gt; #incl原创 2018-09-07 17:24:32 · 390 阅读 · 1 评论 -
【模板】最优比率生成树
参考题目:POJ2728 解析: 就是套用01分数规划的两种方法,然后根据题目和数据规模选择用PrimPrimPrim还是KruskalKruskalKruskal算法求最大还是最小生成树就行了。 显然这道题适合用PrimPrimPrim求最小生成树,毕竟是完全图。 代码(二分): #include&amp;amp;lt;cstring&amp;amp;gt; #include&amp;amp;lt;queue&amp;a原创 2018-09-14 18:25:26 · 1187 阅读 · 0 评论 -
【模板】最优比率环
参考题目:POJ3621 解析: 相信在看这篇文章的你一定会0/1分数规划。 那么我的讲解就此开始。 首先,如同所有0/10/10/1分数规划,考虑二分。 问题是这样的:考虑找出一个环使得∑F∑w∑F∑w\frac{\sum F}{\sum w}最大 那么我们二分出的答案如何检验是否是合法的呢? 设我们二分出的答案为λλ\lambda。 若是最优解,则有λ=∑F∑wλ=∑F...原创 2018-09-14 21:09:45 · 393 阅读 · 0 评论 -
2018.10.11【SDOI2017】【洛谷P3705】【BZOJ4819】新生的舞会(0/1分数规划)(最大费用最大流)
洛谷传送门 BZOJ传送门 解析: 随便写一发过了样例然后就A了? 思路: 分数规划的式子都列好了。。。就等你想出验证方法。。。 一看这又双叒叕是一个匹配问题。。。 还能是什么。。。网络流。然后是男生女生配 (滑稽) 这不是二分图边的最大权匹配吗。。。 于是就把问题转化到了最大费用最大流上面。。。 我们直接建图源点向每个男生连边,每个男生向每个女生连边,每个女生向汇点连边。以上所有边的边权为1...原创 2018-10-11 20:55:18 · 162 阅读 · 0 评论 -
2018.10.11【SDOI2017】【洛谷P3705】【BZOJ4819】新生的舞会(DinkelBach迭代法解法)
二分解法及题目详解 解析: 这里只讨论这道题中DinkelBachDinkelBachDinkelBach迭代法的好处,题目解析请参考上面的链接。 这道题不管是DinkelBachDinkelBachDinkelBach还是二分都能过,但是DinkelBachDinkelBachDinkelBach所用的时间不到二分法的1/61/61/6。 这里讲一下这道题DinkelBachDinkelBac...原创 2018-10-11 21:29:55 · 256 阅读 · 0 评论 -
【题目泛做】最大获利(0/1分数规划)(最大权闭合子图)
题解: 发现那个关于代价的二次函数实际上就是生效的实际贡献数量,然后二分答案,就是一个最大权闭合子图。 代码: #include<bits/stdc++.h> #define ll long long #define re register #define cs const using std::cerr; using std::cout; cs int N=5e3+7,M=5...原创 2019-09-17 20:45:10 · 141 阅读 · 0 评论