内存限制:256 MiB 时间限制:1500 ms 标准输入输出
                            题目类型:传统 评测方式:文本比较
                                上传者: 匿名

01分数规划(并不知道这是啥。。)

km或费用流(并不会)验证

屠龙宝刀点击就送

#include <cstring>
#include <cstdio>
#include <queue>
#include <cmath>
#define N 100100
#define inf 0x3f3f3f3f
#define eps 1e-8
using namespace std;
bool vis[N];
int nextt[N],to[N],fa[N],flow[N],head[N],cnt=,n,ans1,ans2,a[][],b[][];
double cost[N],dis[N];
inline void ins(int u,int v,int f,double c)
{
nextt[++cnt]=head[u];
to[cnt]=v;
flow[cnt]=f;
cost[cnt]=c;
head[u]=cnt;
}
bool spfa(int s,int t)
{
for(int i=s;i<=t;++i) vis[i]=,dis[i]=-1e9;
dis[s]=fa[s]=;
queue<int>q;
q.push(s);
for(int now;!q.empty();)
{
now=q.front();q.pop();
vis[now]=;
for(int i=head[now];i;i=nextt[i])
{
int v=to[i];
if(dis[v]<dis[now]+cost[i]&&flow[i]>)
{
dis[v]=dis[now]+cost[i];
fa[v]=i;
if(!vis[v])
{
vis[v]=;
q.push(v);
}
}
}
}
return dis[t]!=-1e9;
}
bool dinic(int s,int t,double k)
{
cnt=;
memset(head,,sizeof(head));
for(int i=;i<=n;++i) ins(s,i,,),ins(i,s,,);
for(int i=n+;i<=n*;++i) ins(i,t,,),ins(t,i,,);
for(int i=;i<=n;++i)
for(int j=;j<=n;++j)
ins(i,n+j,,(double)a[i][j]-k*b[i][j]),ins(n+j,i,,-((double)a[i][j]-k*b[i][j]));
double tmp=;
bool flag=false;
for(;spfa(s,t);)
{
if(tmp+dis[t]>=)
{
flag=true;
for(int i=t;i!=s&&i;i=to[fa[i]^])
{
flow[fa[i]]-=;
flow[fa[i]^]+=;
}
tmp+=dis[t];
}
else return false;
}
return flag;
}
int Main()
{
scanf("%d",&n);
for(int i=;i<=n;++i)
for(int j=;j<=n;++j)
scanf("%d",&a[i][j]);
for(int i=;i<=n;++i)
for(int j=;j<=n;++j)
scanf("%d",&b[i][j]);
int s=,t=n*+;
double l=,r=,mid,ans;
for(;abs(r-l)>eps;)
{
mid=(l+r)/;
if(dinic(s,t,mid)) ans=mid,l=mid+eps;
else r=mid-eps;
}
printf("%.6lf",ans);
return ;
}
int sb=Main();
int main(int argc,char *argv[]) {;}

LibreOJ #2003. 「SDOI2017」新生舞会的更多相关文章

  1. LibreOJ 2003. 「SDOI2017」新生舞会 基础01分数规划 最大权匹配

    #2003. 「SDOI2017」新生舞会 内存限制:256 MiB时间限制:1500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 ...

  2. 「SDOI2017」新生舞会

    题目链接 戳我 \(Describe\) 有一场舞会,n个男生,n个女生,要组成n对舞伴,男生i和女生j组队的适合度是\(a_{ij}\), 不适合度是\(b_{ij}\), 让你求\(max(\su ...

  3. loj2003 「SDOI2017」新生舞会

    分数规划+KM 算法 这个KM不好,看算法竞赛进阶指南的 #include <iostream> #include <cstring> #include <cstdio& ...

  4. AC日记——「SDOI2017」序列计数 LibreOJ 2002

    「SDOI2017」序列计数 思路: 矩阵快速幂: 代码: #include <bits/stdc++.h> using namespace std; #define mod 201704 ...

  5. 「SDOI2017」树点涂色 解题报告

    「SDOI2017」树点涂色 我sb的不行了 其实一开始有一个类似动态dp的想法 每个点维护到lct树上到最浅点的颜色段数,然后维护一个\(mx_{0,1}\)也就是是否用虚儿子的最大颜色 用个set ...

  6. LibreOJ #2006. 「SCOI2015」小凸玩矩阵 二分答案+二分匹配

    #2006. 「SCOI2015」小凸玩矩阵 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 ...

  7. 【BZOJ4819】【SDOI2017】新生舞会 [费用流][分数规划]

    新生舞会 Time Limit: 10 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description 学校组织了一次新生舞会,Cathy ...

  8. LibreOJ #2036. 「SHOI2015」自动刷题机

    #2036. 「SHOI2015」自动刷题机 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 题目描述 曾经发明了信号增幅仪的发明家 SHTSC 又公开 ...

  9. Unique -「企划」新生守则(?

    随想随记,主要是整活. 红色贝雷帽大爷会在校园不定期游走,遇见记得打招呼. 面食堂冰沙类饮品请快速解决或者边喝边搅,如果发现饮品甜度骤减请快速前往最近的垃圾桶扔掉. 关于散养猫小黄和小黑. 如果看见小 ...

随机推荐

  1. hash tree

    http://en.wikipedia.org/wiki/Hash_list In computer science, a hash list is typically a list of hashe ...

  2. day1 java基础回顾-泛型

    2.泛型(Generic) 当集合中存储的对象类型不同时,那么会导致程序在运行的时候的转型异常 1 import java.util.ArrayList; 2 import java.util.Ite ...

  3. Linux之vim基本命令操作

    安装vim(yum -y install vim) 三种工作模式(命令模式.输入模式.编辑模式) 打开文件( vi ) 查找文本( / ) 替换文本 删除文本( dd 删除光标所在行 ) 复制文本 去 ...

  4. Keras AttributeError 'NoneType' object has no attribute '_inbound_nodes'

    问题说明: 首先呢,报这个错误的代码是这行代码: model = Model(inputs=input, outputs=output) 报错: AttributeError 'NoneType' o ...

  5. h5模型文件转换成pb模型文件

      本文主要记录Keras训练得到的.h5模型文件转换成TensorFlow的.pb文件 #*-coding:utf-8-* """ 将keras的.h5的模型文件,转换 ...

  6. 部署开发以太坊dapp的四种方式

    我们已经学习了4种开发和部署智能合约的方法: 第1种是使用 Truffle 和 Ganache .由于我们从上一篇教程中复制了代码,所以我想告诉你,有些插件可用于目前最流行的文本编辑器和 IDEs.有 ...

  7. dubbo 学习(一)

    1.dubbo(服务提供方)     ---->注册给  zookeeper 2.服务消费方通过访问zookeeper直接请求服务地址 3.zookeeper能够 1:现实环境中如果服务出现中断 ...

  8. try catch finally的执行顺序学习

    try catch finally的执行顺序学习   首先执行try,如果有异常执行catch,无论如何都会执行finally,当有return以后,函数就会把这个数据存储在某个位置,然后告诉主函数, ...

  9. form常用表单标签

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. IBM Websphere MQ常用命令及常见错误

    MQSC: MQ Script Command  (不区分大小写) 注明: 下面命令行中的队列管理器名字,队列名字分别用QmgrName, QName替代. 下面标蓝色的,都需要根据实际配置更改! 打 ...