内存限制: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. jq操作select集合

    jq操作select集合 时间:2012年12月07日分类:Javascript 最近一段时间发现,老是要跟select,option相关的东西打交道,而且有的时候还会搞错,于是,抽了一点时间整理了一 ...

  2. VIM显示utf-8乱码

    找到vim的根目录下的vimrc文件打开,加入下面三行,保存.重开vim即可. set encoding=utf-8 set langmenu=zh_CN.UTF-8 language message ...

  3. 正则表达式/i,/g,/ig,/gi,/m的含义

    正则表达式中/i,/g,/ig,/gi,/m的区别和含义 /i (忽略大小写)/g (全文查找出现的所有匹配字符)/m (多行查找)/gi(全文查找.忽略大小写)/ig(全文查找.忽略大小写)

  4. Centos 6.x 安装 Redis

    本文以Centos6.8为例子,来进行演示. 1:下载最新版的Redis,比如我们安装在根目录下的redis文件下中 tar zxvf http://download.redis.io/release ...

  5. Eclipse Photon 小技巧(tips)

    本文内容: Eclipse 4.8版本 代号 photon  光量子 ,感觉更像ide了,虽然这些技巧广为认知,但是作为eclipse来说,也是很重要的. Code completion allows ...

  6. Table 自定义设置边框线

    table上添加:border-collapse: collapse;//设置表格边框分开显示就可以设置tr td的边框线

  7. Unity 打包PC和安卓的路径注意事项

    if UNITY_STANDALONE_WIN || UNITY_EDITOR return Application.persistentDataPath + "/LocalData&quo ...

  8. Educational Codeforces Round 66 (Rated for Div. 2) A. From Hero to Zero

    链接:https://codeforces.com/contest/1175/problem/A 题意: You are given an integer nn and an integer kk. ...

  9. C. An impassioned circulation of affection DP

    http://codeforces.com/contest/814/problem/C 12ooyomioomioo21 o2 o 这题我是用dp解的,不过好像很慢,比赛的时候算了下不会mle,就没滚 ...

  10. C# Mutex互斥锁

    Mutex 构造函数 (Boolean, String, Boolean) public Mutex ( bool initiallyOwned, string name, out bool crea ...