LibreOJ #2003. 「SDOI2017」新生舞会


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」新生舞会的更多相关文章
- LibreOJ 2003. 「SDOI2017」新生舞会 基础01分数规划 最大权匹配
#2003. 「SDOI2017」新生舞会 内存限制:256 MiB时间限制:1500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
- 「SDOI2017」新生舞会
题目链接 戳我 \(Describe\) 有一场舞会,n个男生,n个女生,要组成n对舞伴,男生i和女生j组队的适合度是\(a_{ij}\), 不适合度是\(b_{ij}\), 让你求\(max(\su ...
- loj2003 「SDOI2017」新生舞会
分数规划+KM 算法 这个KM不好,看算法竞赛进阶指南的 #include <iostream> #include <cstring> #include <cstdio& ...
- AC日记——「SDOI2017」序列计数 LibreOJ 2002
「SDOI2017」序列计数 思路: 矩阵快速幂: 代码: #include <bits/stdc++.h> using namespace std; #define mod 201704 ...
- 「SDOI2017」树点涂色 解题报告
「SDOI2017」树点涂色 我sb的不行了 其实一开始有一个类似动态dp的想法 每个点维护到lct树上到最浅点的颜色段数,然后维护一个\(mx_{0,1}\)也就是是否用虚儿子的最大颜色 用个set ...
- LibreOJ #2006. 「SCOI2015」小凸玩矩阵 二分答案+二分匹配
#2006. 「SCOI2015」小凸玩矩阵 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
- 【BZOJ4819】【SDOI2017】新生舞会 [费用流][分数规划]
新生舞会 Time Limit: 10 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description 学校组织了一次新生舞会,Cathy ...
- LibreOJ #2036. 「SHOI2015」自动刷题机
#2036. 「SHOI2015」自动刷题机 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 题目描述 曾经发明了信号增幅仪的发明家 SHTSC 又公开 ...
- Unique -「企划」新生守则(?
随想随记,主要是整活. 红色贝雷帽大爷会在校园不定期游走,遇见记得打招呼. 面食堂冰沙类饮品请快速解决或者边喝边搅,如果发现饮品甜度骤减请快速前往最近的垃圾桶扔掉. 关于散养猫小黄和小黑. 如果看见小 ...
随机推荐
- Auto Layout Guide----(二)-----Auto Layout Without Constraints
Auto Layout Without Constraints 没有约束的自动布局 Stack views provide an easy way to leverage the power of A ...
- 利用jQuery实现鼠标滑过整行变色
在很多网站都有这样的效果,那就是当鼠标放在新闻列表一行上的时候,整行就会变色,虽然使用CSS也能够实现此种功能,但是由于众多浏览器版本对于CSS3并没有良好的支持,所以在当前情况下,使用jQuery实 ...
- win form treeview添加节点
//实例代码: /// <summary> /// 添加节点事件 /// </summary> /// <param name="tnodes"> ...
- MyCat - 使用篇(5)
此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 意思就是,开头为北京的范围在A0000000~A9999999的根据后面的哈希值对5取模平均分布在0,1,2 ...
- Git查询
Git查询 查询分支 git branch # 查询本地分支 git branch -a # 查询所有分支 $ git branch -a * master remotes/origin/HEAD - ...
- [UE4]用C++如何创建Box Collision
http://www.dawnarc.com/2016/08/ue4%E7%94%A8c--%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BAbox-collision/ 在蓝图 ...
- 洛谷P2280 [HNOI2003]激光炸弹
P2280 [HNOI2003]激光炸弹 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ...
- Java Servlet图片上传至指定文件夹并显示图片
在学习Servlet过程中,针对图片上传做了一个Demo,实现的功能是:在a页面上传图片,点击提交后,将图片保存到服务器指定路径(D:/image):跳转到b页面,b页面读取展示绝对路径(D:/ima ...
- IBM Websphere MQ常用命令及常见错误
MQSC: MQ Script Command (不区分大小写) 注明: 下面命令行中的队列管理器名字,队列名字分别用QmgrName, QName替代. 下面标蓝色的,都需要根据实际配置更改! 打 ...
- JavaScript进阶 - 第10章 编程挑战
10-1 编程挑战 现在利用之前我们学过的JavaScript知识,实现选项卡切换的效果. 效果图: