01分数规划
文章平均质量分 63
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[POJ2976]Dropping tests(01分数规划)
题目描述传送门 题意:给出ai,bi,选择至少n-k个,使100*∑ai∑bi\sum a_i\over\sum b_i最大题解01分数规划裸题… 化一下式子R=∑ai∑biR={\sum a_i\over\sum b_i},那么当di=∑ai−R∗∑bi>0d_i=\sum a_i-R*\sum b_i>0的时候一定存在更优解 二分R,算出did_i,贪心地选前n-k大,然后判断是否存在更优原创 2017-02-16 07:07:25 · 595 阅读 · 0 评论 -
[POJ2728]Desert King(01分数规划)
题目描述传送门 题意:给出n个点的坐标和海拔,两个点之间的距离为欧氏距离,花费为海拔差,求一个生成树,满足每公里的花费最小题解一个裸的最优比率生成树问题 二分R,然后每条边权记为di=costi−R∗lenid_i=cost_i-R*len_i 然后求一个最小生成树,如果边权和小于0说明有更优解代码#include<algorithm>#include<iostream>#include<原创 2017-02-16 07:11:34 · 611 阅读 · 2 评论 -
[POJ3621]Sightseeing Cows(01分数规划)
题目描述传送门 题意:一张图,每一个点有价值,每一条边有花费,求一条起点终点相同的路径,满足价值/花费最小。其中点重复经过价值不变,边重复经过代价累加。题解一定不会重复走边对吧…所以是一个最优比率环问题 将边的价值看成是起点或终点的价值,二分R之后,对每一条边计算di=ai−R∗bid_i=a_i-R*b_i 然后用spfa判断是否有正权环就行了,如果有的话一定存在更优解代码#include<原创 2017-02-16 07:16:13 · 465 阅读 · 0 评论 -
[POJ3155]Hard Life(01分数规划)
题目描述传送门 题意:一张图,选出一个子图,满足边数/点数最大题解最大密度子图问题… 算法一 二分g,然后点权变成-g,边权变成1,求一个最大的子图 可以发现边权为正,点权为负,所以说会尽量多选边,那么我们说选一条边就一定会选两个点就没有什么问题了(按理来说应该是选了两个点就一定要选某条边) 这就是一个典型的最大权闭合子图问题了…建图之后跑最小割就行了 算法二(对算法一的改进算法) 有原创 2017-02-16 07:41:28 · 444 阅读 · 0 评论 -
SDOI2017 Round1 解题报告
Day1A product题意简述定义f(0)=0,f(1)=1,f(n)=f(n−1)+f(n−2)(n≥2)f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n\ge 2) 求∏i=1n∏j=1mf(gcd(i,j))\prod\limits_{i=1}^n\prod\limits_{j=1}^m f(gcd(i,j)) 多组数据,对109+710^9+7取模数据范围对10%原创 2017-04-12 07:43:21 · 1252 阅读 · 0 评论 -
[BZOJ2285][Sdoi2011]保密(01分数规划+最小割)
题目描述传送门题解首先求出来n到1~n1的最短路,这个需要用到01分数规划 首先二分答案mid,那么假设∑ai∑bi≤mid{\sum a_i\over \sum b_i}\le mid,也就是当∑ai−∑bi∗mid≤0\sum a_i-\sum b_i*mid\le 0的时候说明还存在更优的答案 那么将每一条边的边权变成a-b*mid,然后spfa判断是否有负权的路径就行了 注意这里spf原创 2017-04-06 07:22:59 · 929 阅读 · 0 评论 -
[BZOJ1486][HNOI2009]最小圈(01分数规划+深搜spfa)
题目描述传送门题解01分数规划 如果存在负权环的话说明有更优的答案 写深搜spfa就不会tle了代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define N 20005const double eps=1e-9;原创 2017-03-10 14:03:13 · 588 阅读 · 0 评论