这个题其实就是二分检验。。

稍微移个项就可以得到(a1-c*b1)+(a2-c*b2)+……

这样贡献就化成了具体到每次决策的影响,c显然满足连续性,所以可以二分c

跑最大流以求得到最大的值使当前答案显得小,就可以得出答案

主要就是化动为静,,如果答案反过来影响过程就可以考虑枚举答案分析,然后来判断当前的影响值 和 作为限度的影响值

注:

1、l和r的eps

2、spfa的返回值

3、double的建边

4、前继一定是-1;

码:

#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
queue<int>q;
#define N 50000
int tot=-1,hou[N],xia[N],zhong[N],v[N],s,t,i,j,n,m,qj[N];
bool vis[N];
double C[N],d[N],l,r,a[105][105],b[105][105],daan,ans;
void jian(int a,int b,double c,int d)
{++tot;hou[tot]=xia[a],xia[a]=tot,zhong[tot]=b,C[tot]=c,v[tot]=d;
}
void jia(int a,int b,double v)
{
jian(a,b,v,1);
jian(b,a,-v,0);
}
bool spfa()
{int i;for(i=1;i<=t;i++){d[i]=-99999999;    }memset(qj,-1,sizeof(qj));
q.push(s);
d[s]=0;while(!q.empty()){int st=q.front();q.pop();vis[st]=0;for(i=xia[st];i!=-1;i=hou[i]){int nd=zhong[i];if(!v[i]||d[nd]>=d[st]+C[i])continue;qj[nd]=i;d[nd]=d[st]+C[i];if(vis[nd]==0){vis[nd]=1;q.push(nd);}                        }       }if(d[t]==-99999999)return 0;int o=qj[t],minf=999;while(o!=-1){minf=min(minf,v[o]);o=qj[zhong[o^1]];}o=qj[t];while(o!=-1){ans+=C[o]*(1.00000000*v[o]);v[o]-=minf;v[o^1]+=minf;o=qj[zhong[o^1]];}
//  cout<<ans<<" ";return 1;
}
void mcmf()
{
while(spfa());
}
int main()
{scanf("%d",&n);s=n*n+1;t=n*n+2;for(i=1;i<=n;i++){for(j=1;j<=n;j++){scanf("%lf",&a[i][j]);}   }for(i=1;i<=n;i++){for(j=1;j<=n;j++){scanf("%lf",&b[i][j]);}    }l=0.0000001;r=1000000.0000001;while(l+0.00000001<r){double mid=(l+r)/2;
memset(xia,-1,sizeof(xia));tot=-1;for(i=1;i<=n;i++){jia(s,i,0);for(j=1;j<=n;j++){jia(i,n+j,a[i][j]-mid*b[i][j]);}jia(i+n,t,0);}ans=0;mcmf();//printf("%.8lf  %.8lf\n",mid,ans);if(ans<=0){r=mid;daan=mid;}else l=mid+0.0000001; }printf("%.6lf",daan);
}

bzoj4819 [Sdoi2017]新生舞会 分数规划(实数二分)+网络流检验相关推荐

  1. BZOJ4819: [Sdoi2017]新生舞会

    BZOJ4819: [Sdoi2017]新生舞会 Description 学校组织了一次新生舞会,Cathy作为经验丰富的老学姐,负责为同学们安排舞伴. 有n个男生和n个女生参加舞会买一个男生和一个女 ...

  2. 【BZOJ 4819】 4819: [Sdoi2017]新生舞会 (0-1分数规划、二分+KM)

    4819: [Sdoi2017]新生舞会 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 601  Solved: 313 Description 学 ...

  3. BZOJ 4819: [Sdoi2017]新生舞会

    二次联通门 : BZOJ 4819: [Sdoi2017]新生舞会 /*BZOJ 4819: [Sdoi2017]新生舞会二分 + 01分数规划 + 最小费用流二分出一个答案费用流检验*/ #incl ...

  4. BZOJ 4819 Luogu P3705 [SDOI2017]新生舞会 (最大费用最大流、二分、分数规划)

    现在怎么做的题都这么水了.. 题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=4819 (luogu) https://ww ...

  5. [SDOI2017]新生舞会

    题目描述 学校组织了一次新生舞会,Cathy作为经验丰富的老学姐,负责为同学们安排舞伴. 有个男生和个女生参加舞会买一个男生和一个女生一起跳舞,互为舞伴. Cathy收集了这些同学之间的关系,比如两个 ...

  6. 算法提高课-图论-负环-AcWing 361. 观光奶牛:spfa判正环、负环、01分数规划、二分

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 题目要求ΣfiΣgi\frac{\Sigma{f_i}}{\Sigma{g_i}}Σgi​Σfi​​的最大值,这种问题称为01分数规 ...

  7. codevs 5965 [SDOI2017]新生舞会

    分数规划的裸题. 不会分数规划的OIer.百度:胡伯涛<最小割模型在信息学竞赛中的应用> /* TLE1: last:add(i,j+n,1e9,(real)((real)a[i][j]- ...

  8. SDOI2017 新生舞会

    01规划 a1+a2+a3+...+ai/b1+b2+b2+..bi最大 设一个k 使得 a1+a2+a3+...+ai/b1+b2+b3+...bi>=k 变换式子得到 a1+a2+a3+.. ...

  9. bzoj 4819 [Sdoi2017]新生舞会

    题面 https://www.lydsy.com/JudgeOnline/problem.php?id=4819 题解 这题很好想 首先二分答案 然后令w[i][j]=a[i][j]-b[i][j]* ...

最新文章

  1. Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)
  2. 自己遇到oracle的错误记录
  3. spss23出现数据消失_改善23亿人口健康数据的可视化
  4. mysql数据库deptno_mysql数据库的 select查询
  5. linux tail 查找字符串,linux 查找包含字符串的文件
  6. Chapter 1 Securing Your Server and Network(1):选择SQL Server业务经理
  7. LiquidCrystal_I2C 显示不正常 只显示第一个首字符!
  8. html屏幕阅读器,支持移动触摸的网页版PDF格式文件阅读器插件
  9. 计算机网络上级操作题,计算机网络上机操作试题答案.pdf
  10. 关于Pyrene-PEG2/PEG3/PEG4/PEG5-azide化学式,分子量等相关对比总结
  11. 连续,可积,存在原函数,变上限积分
  12. Emacs快捷键 转自:http://www.engr.uvic.ca/~dastone/emacs-keys.html
  13. 【树莓派】树莓派官方系统Raspbian安装 Docker 和 青龙面板 挂JD库脚本 --详细教程,Centos和Ubuntu服务器可参考
  14. 手机UC浏览器导出书签到电脑Chrome浏览器中
  15. 微信加密某一个人私聊?微信私密聊天
  16. jxl 单元格画斜线
  17. 计算机类高水平文章,作为本科生的我,如何成功发表高水平会议论文
  18. 为什么你写了一万小时的代码,却没能成为架构师?
  19. 模电学习笔记(上交郑老师)1.PN结
  20. 我这大半年——求职理论篇

热门文章

  1. c语言优先级大全,C语言运算符及其优先级汇总表口诀
  2. aes加密算法python实现_Python基于pycrypto实现的AES加密和解密算法示例
  3. 推荐系统实战-概念理解入门篇
  4. java堆和客栈_JAVA中堆、栈,静态方法和非静态方法的速度问题
  5. 商丘高中计算机考试成绩查询系统,河南省中招考生服务平台2019商丘中考成绩查询系统入口...
  6. python创意爱情代码大全-王牌花色-题解(Python代码)
  7. Word中如何正确添加参考文献
  8. php system 执行失败,php执行system()函数没有任何反应
  9. python实现神经网络_3. Python矢量化实现神经网络
  10. 一个字形容大数据_嘉禾数据科学分享(八):一个大数据专业教师眼里的大数据