博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
新生舞会
阅读量:4322 次
发布时间:2019-06-06

本文共 1053 字,大约阅读时间需要 3 分钟。

 

 

/*    01分数规划,二分答案k,看是否存在方案使的(a1+a2+a3...)/(b1+b2+b3...)>=k。    即(a1-k*b1)+(a2-k*b2)+(a3-k*b3)...>=0,那么用费用流写就行了。    需要注意的是常数问题没需要用一点黑科技,比如把结构体改成数组。 */#include
#include
#include
#include
#define N 210#define M 40100#define eps 0.0000001#define inf 1000000000using namespace std;int a[N][N],b[N][N],n;int head[N],inq[N],fa[N],S,T,cnt=1;int to[M],f[M],pre[M];double dis[N],w[M];queue
q;void add(int u,int v,int ff,double ww){ to[++cnt]=v;pre[cnt]=head[u];f[cnt]=ff;w[cnt]=ww;head[u]=cnt; to[++cnt]=u;pre[cnt]=head[v];f[cnt]=0;w[cnt]=-ww;head[v]=cnt;}bool spfa(){ for(int i=0;i<=T;i++) dis[i]=-inf; dis[S]=0;q.push(S); while(!q.empty()){ int u=q.front();q.pop();inq[u]=0; for(int i=head[u];i;i=pre[i]) if(f[i]>0&&dis[to[i]]
eps){ double mid=(l+r)/2.0; if(work(mid)>0) l=mid; else r=mid; } printf("%.6lf",(l+r)/2.0); return 0;}

 

转载于:https://www.cnblogs.com/harden/p/6706133.html

你可能感兴趣的文章
IDEA修改git账号密码
查看>>
C# 插入排序
查看>>
每周总结16
查看>>
9_2二维数组
查看>>
为django项目创建虚拟环境
查看>>
30-RoutingMiddleware介绍以及MVC引入
查看>>
【转】AB实验设计思路及实验落地
查看>>
PHP获取客户端的IP
查看>>
C# 创建单例窗体封装
查看>>
移动端报表如何获取当前地理位置
查看>>
spring 源码
查看>>
使用 opencv 将图片压缩到指定文件尺寸
查看>>
linux中~和/的区别
查看>>
在vue-cli项目中使用bootstrap的方法示例
查看>>
jmeter的元件作用域与执行顺序
查看>>
echarts学习笔记 01
查看>>
PrimeNG安装使用
查看>>
iOS 打包
查看>>
.NET Core中的数据保护组件
查看>>
华为云软件开发云:容器DevOps,原来如此简单!
查看>>