洛谷p1559运动员最佳匹配问题
搜索 可行性剪枝
虽然这题目是我搜二分图的标签搜到的
但是n比较小
明显可以暴力
然而只有80分
再加上可行性剪纸就行啦
就是记所有运动员他所能匹配到的最大值、
在我们搜索到第i层的时候
如果他后边的运动员的最大值加起来还比当前已经搜到的最优解还小的话
就把他减掉
Code:
//bao li
#include <cstdio>
#include <iostream>
using namespace std;
const int N = ;
int n, a[N][N], b[N][N], maxn[N], ans;
bool vis[N];
int read() {
int s = , w = ;
char ch = getchar();
while(!isdigit(ch)) {if(ch == '-') w = -; ch = getchar();}
while(isdigit(ch)) {s = s * + ch - ''; ch = getchar();}
return s * w;
}
void dfs(int dep, int w) {
if(dep > n) {ans = max(ans, w); return;}
int sum = ;
for(int i = dep; i <= n; i++) sum += maxn[i];
if(w + sum < ans) return;
for(int i = ; i <= n; i++)
if(!vis[i]) {
vis[i] = ;
dfs(dep + , w + a[dep][i] * b[i][dep]);
vis[i] = ;
}
}
int main() {
n = read();
for(int i = ; i <= n; i++)
for(int j = ; j <= n; j++)
a[i][j] = read();
for(int i = ; i <= n; i++)
for(int j = ; j <= n; j++)
b[i][j] = read();
for(int i = ; i <= n; i++)
for(int j = ; j <= n; j++)
maxn[i] = max(maxn[i], a[i][j] * b[j][i]);
dfs(, );
cout << ans << endl;
return ;
}
谢谢收看, 祝身体健康!
洛谷p1559运动员最佳匹配问题的更多相关文章
- [洛谷 P1559] 运动员最佳匹配问题
题目描述 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势:Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势 ...
- P1559 运动员最佳匹配问题[最大费用最大流]
题目描述 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势:Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势 ...
- 【题解】P1559 运动员最佳匹配问题
[题目](https://www.luogu.com.cn/problem/P1559) 题目描述 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组 ...
- P1559 运动员最佳匹配问题
题目描述 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势:Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势 ...
- KM模板 最大权匹配(广搜版) Luogu P1559 运动员最佳匹配问题
KM板题: #include <bits/stdc++.h> using namespace std; inline void read(int &num) { char ch; ...
- P1559 运动员最佳匹配问题 by hyl 天梦
#include<iostream> using namespace std; int n; int maxx[21][21]; int lie[21]; int aa[21]; int ...
- Luogu 1559 运动员最佳匹配问题(带权二分图最大匹配)
Luogu 1559 运动员最佳匹配问题(带权二分图最大匹配) Description 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的 ...
- 运动员最佳匹配问题 KM算法:带权二分图匹配
题面: 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势:Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势. ...
- 运动员最佳匹配问题(km算法)
洛谷传送门 带权二分图最大权完美匹配. 裸的km算法. 注意开long long. #include <cstdio> #include <cstring> #include ...
随机推荐
- maven的基础入门
Maven是Java世界中一个很好使的项目管理工具,关于[好使]这个特性从项目的使用量上就能体现出来,虽然说现在有更好使的Gradle,但是Maven的地位也不会那么轻易被撼动,支持者还是多多. Ma ...
- nodejs anywhere 搭建本地静态文件服务
一.背景 工作中有时候往往会遇到下述场景:例如需要将新打好的安装包等文件临时性的给到同事,可能还需要给到多个同事.这时,我们往往有如下几种方案: 1,一般都会有公司内部的文件系统,上传文件后将对应的地 ...
- mongodb数据库环境配置
数据是每一前端人员必定接触的一样,所有的数据都是后端来编写,如果自己想练习项目,却没有数据,而是写一些假数据,去编写,或者通过json-server搭建一个数据,今天我们就通过MongoDB来搭建一个 ...
- .net core启用Swagger
启用 Swagger 页面 官方文档推荐两种框架:Swashbuckle 和 NSwag,这里使用 Swashbuckle 来生成接口文档. 目录 安装包 添加服务 配置中间件 添加 UI 设置 ...
- web api与mvc的区别
MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据 Web API支持格式协商,客户端可以通过Accept header通知服务器期望的格式 Web API支持Self Ho ...
- webapi处理OPTIONS请求
报错1信息 Access to XMLHttpRequest at 'http://localhost:4445/api/v/getmsg' from origin 'http://localhost ...
- Python - 注释 - 第四天
注释 确保对模块, 函数, 方法和行内注释使用正确的风格 Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如: # 这是一个注释 print('Hello Pytho ...
- Mybatis映射文件中的标签的使用
<foreach> <!-- foreach --> <delete id="delMulti" parameterType="java.u ...
- eclipse安装sts
- android studio学习---Lint工具
对代码进行测试是一回事,但同样重要的是.我们还需要在编写代码的同时引入各种最佳实践.这不仅能够显著改进性能表现,也能增加应用程序的整体稳定性.另外,经过合理结构调整的项目在维护方面也更为轻松. And ...