题目大意:学生给出其成绩区间,但可能出现矛盾情况,找出合理组合使没有说谎的人尽可能多,并按maximum lexicographic规则输出组合。

//用学生去和成绩匹配,成绩区间就是学生可以匹配的成绩

#include <iostream>
#include <queue>
#include <vector>
#define N 100005using namespace std;
struct Node
{int f,t;
};
Node lis[65];
int match[N];
int used[N];
bool dfs(int now)
{//used[now]=1;for(int i=lis[now].f;i<=lis[now].t;i++){if(!used[i]){used[i]=1;if(match[i]==-1||dfs(match[i])){match[i]=now;return true;}}}return false;
}
void ini()
{fill(used,used+N,0);fill(match,match+N,-1);
}
int main(int argc, const char * argv[]) {cin.sync_with_stdio(false);int t;cin>>t;while(t--){int n;cin>>n;for(int i=0;i<n;i++)cin>>lis[i].f>>lis[i].t;int ans=0;ini();for(int i=n-1;i>=0;i--)//从n向前遍历,保证尽可能得到大的值
        {fill(used,used+N,0);if(dfs(i))ans++;}cout<<ans<<endl;priority_queue<int,vector<int>,greater<int> >q;//顺序输出//int flag=1;for(int i=N-1;i>=0;i--)if(match[i]!=-1)q.push(match[i]+1);while(!q.empty()){if(q.size()!=1)cout<<q.top()<<' ';elsecout<<q.top()<<endl;q.pop();}}return 0;
}

转载于:https://www.cnblogs.com/LukeStepByStep/p/5813061.html

HDU-3729 二分匹配 匈牙利算法相关推荐

  1. 【HDU 2255】奔小康赚大钱 (最佳二分匹配KM算法)

    奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  2. HDU 2389(二分最大匹配优化算法,Hopcroft-Carp)

    HDU 2389(二分最大匹配优化算法,Hopcroft-Carp) 题目链接: 大致题意; 您能帮助客人在下雨之前尽可能多地找到一把雨伞? 给定所有客人的位置和跑步速度,雨伞位置,到下雨开始时的时间 ...

  3. 二分图匹配--匈牙利算法

    文章目录 二分图: 匹配 匈牙利算法 代码: 二分图: 二分图是一个无向图,点集分成子集X和Y,图中每一条边都是一边在X一边在Y 当且仅当无向图G的每一个回路次数都是偶数时(包括0),G就是一个二分图 ...

  4. nyoj-239 月老的难题 (二分图匹配—匈牙利算法 网络流—Dinic算法)

    月老的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...

  5. 数据结构与算法学习笔记15:最大流问题 / 二分图 / 有权无权二分图的匹配 / 匈牙利算法 / 银行家算法 / 稳定婚配

    数据结构与算法学习笔记15:最大流问题 / 二分图 / 有权无权二分图的匹配 / 匈牙利算法 / 银行家算法 / 稳定婚配 引入小题:最短路径 最大流问题(maximum flow problem) ...

  6. HDU 2389 Rain on your Parade(二分匹配+Hopcroft-Carp算法模板题)

    You're giving a party in the garden of your villa by the sea. The party is a huge success, and every ...

  7. 二分图匹配-匈牙利算法

    说到二分,我们就很容易想到二分查找算法,今年下半年--,今天所介绍的二分图和二分查找没有太大的联系,我们先来看一下它的定义: 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V,E)是一个无向图 ...

  8. 二分图匹配匈牙利算法DFS实现

    1 /*==================================================*\ 2 | 二分图匹配(匈牙利算法DFS 实现) 3 | INIT: g[][]邻接矩阵; ...

  9. 华为机试 素数伴侣 匹配匈牙利算法

    题目描述 题目描述 若两个正整数的和为素数,则这两个正整数称之为"素数伴侣",如2和5.6和13,它们能应用于通信加密.现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数 ...

最新文章

  1. ffmpeg+mencoder环境搭建和视频处理总结
  2. 字节码中的两个方法init,clinit
  3. Vijos——T 1082 丛林探险
  4. java 数据库插入数据_java向数据库插入N条数据
  5. javasript 面向对象
  6. 支付宝 .NET SDK 报错:RSA签名遭遇异常,请检查私钥格式是否正确。
  7. Leetcode--542. 01 矩阵(java)
  8. 内容生态搜索趋势研究报告
  9. Lua-Nginx-Module常用指令(下)
  10. 使用机器视觉模式识别屏幕
  11. “勒索文件”或可部分恢复
  12. 用优启通制作U盘启动盘教程(UEFI版)
  13. 编辑视频贴纸软件_12款自媒体视频剪辑制作软件,爆款内容必备神器!
  14. python语言画四叶草的程序_python绘图四叶草_后端开发
  15. Webpack是什么?(webpack初学简单易理解)
  16. 2022爱分析・消费品零售数字化厂商全景报告 | 爱分析报告
  17. Spring Boot自定义Start组件开发
  18. 如何应对stata do文件打开乱码问题
  19. 被西南财经大学辞退的前院长,获得了今年的诺贝尔经济学奖
  20. 浅谈安科瑞电力智能运维在高速铁路电力系统的应用分析

热门文章

  1. C语言经典算法100例-031-判断星期几
  2. 外籍主管眼中的阿里巴巴
  3. MediaWiki安装配置(Linux)【转】
  4. ARM TK1 安装kinect驱动
  5. 数据库不完全恢复 以及恢复到测试环境:
  6. git 常用命令笔记
  7. thinkphp如何部署到宝塔面板nginx服务器
  8. 数据管理技术的发展过程
  9. java 线程池 初始大小_为什么tomcat的默认线程池大小如此之大? - java
  10. java 子类 父类 转换_Java子类与父类之间的类型转换