题目链接 : http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=641&pid=1003

题意 :

给N集合, 每个集合由若干个正整数组成,

要求划分为L个部分, 使得每个部分的所有集合的交集非空

能划分输出YES, 否则NO

思路 :

一共N个集合, 划分的个数为1 - N个, 所以当 L > N 时必然是不行的

考虑如何取到最小的划分个数cnt, 如果 cnt <= L 则可行

方法 :

记录所有的数出现过的次数

每次都找一个出现次数最多的数, 将存在该数的集合作为一个划分, cnt++, 将该划分中所有集合中的数出现次数都减一, 直到不存在剩余数字为止, 再将cnt与L进行比较

#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std; const int MAXN = ;
const int MAX_NUM = 3e2+; int sett[MAXN][MAX_NUM];
int number_cnt[MAX_NUM];
int num[MAXN];
bool vis[MAXN]; int Max_Cnt()
{
int res = ;
for(int i = ; i < MAX_NUM; i++) {
if(number_cnt[i] > number_cnt[res]) res = i;
}
return res;
} void Init()
{
memset(number_cnt, , sizeof(number_cnt));
memset(vis, , sizeof(vis));
} int main()
{
int t;
int n, l; scanf("%d", &t);
while(t--) {
Init();
scanf("%d %d", &n, &l);
for(int i = ; i < n; i++) {
scanf("%d", &num[i]);
for(int j = ; j < num[i]; j++) {
scanf("%d", &sett[i][j]);
number_cnt[sett[i][j]]++;
}
}
int cnt = ;
for(int i = ; i < n; i++) {
int number = Max_Cnt();
if(number == ) break;
for(int j = ; j < n; j++) {
if(vis[j] == ) continue;
for(int k = ; k < num[j]; k++) {
if(sett[j][k] == number) {
vis[j] = ;
break;
}
}
if(vis[j] == ) {
for(int k = ; k < num[j]; k++) {
number_cnt[sett[j][k]]--;
}
}
}
cnt++;
}
if(cnt <= l) printf("YES\n");
else printf("NO\n");
} return ;
}

HDU 5506 - BestCoder Round #60 - GT and set的更多相关文章

  1. HDU 5505 - BestCoder Round #60 - GT and numbers

    题目链接 : http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=641&pid=1002 思路 : N有若 ...

  2. hdu 5667 BestCoder Round #80 矩阵快速幂

    Sequence  Accepts: 59  Submissions: 650  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536 ...

  3. hdu 5643 BestCoder Round #75

    King's Game  Accepts: 249  Submissions: 671  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 6 ...

  4. hdu 5641 BestCoder Round #75

    King's Phone  Accepts: 310  Submissions: 2980  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: ...

  5. BestCoder Round #60/HDU 5505 暴力数学

    GT and numbers 问题描述 给出两个数NN和MM. NN每次可以乘上一个自己的因数变成新的NN. 求最初的NN到MM至少需要几步. 如果永远也到不了输出-1−1. 输入描述 第一行读入一个 ...

  6. HDU 5682/BestCoder Round #83 1003 zxa and leaf 二分+树

    zxa and leaf Problem Description zxa have an unrooted tree with n nodes, including (n−1) undirected ...

  7. HDU 5496 - BestCoder Round #58 - Beauty of Sequence

      题目链接 : http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=637&pid=1002 思路 : 考 ...

  8. HDU 5568 - BestCoder Round #63 - sequence2

    题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=5568 题意 : 给一个长度已知的序列, 给一个值k, 问该序列中有多少种长度为k的上升子序列 思路 ...

  9. hdu 5637 BestCoder Round #74 (div.2)

    Transform  Accepts: 7  Submissions: 49  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: 131072 ...

随机推荐

  1. mongodb的write concern

    mongodb有一个write concern的设置,作用是保障write operation的可靠性.一般是在client driver里设置的,和db.getLastError()方法关系很大 一 ...

  2. ssh注解开发

    引入需要的jar包 @Entity public class Teacher { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) priva ...

  3. PLSQL编程基础

    一 PL/SQL简介 1 SQL:结构化的查询语句 2 PL/SQL优点与特性: 提高运行效率==>>提高运行效率的其他方式(存储过程,分页,缓存,索引) 模块化设计 允许定义标识符(变量 ...

  4. java多线程心得

    多并发的时候,在什么情况下必须加锁?如果不加锁会产生什么样的后果. 加锁的场景跟java的new thread和Runnable的关系是什么? 看看java的concurrentMap源码. 还有sp ...

  5. Hyper-V的三种网卡

    External ======= 虚拟机和物理网络.本地主机都能通信 Internal ======= 虚拟机之间互相通信,并且虚拟机能和本机通信 Private ======= 仅允许运行在这台物理 ...

  6. 解压版mysql安装--windows系统

    1 解压到某个目录 2 配置配置文件 3 执行命令:安装目录/bin/mysqld --install mysql5.6 --defaults-file=指定配置文件位置 "安装目录/bin ...

  7. iOS 8 自动布局sizeclass和autolayout的基本使用

    1.首先创建新的工程,设置rootviewcontroller(这里不再多说) 2.勾选下面(因为我们到下面是使用sizeClass,所以勾选两个): 3.这里我创建了一个lable,名称为View1 ...

  8. HDU 4614 (13年多校第二场1004)裸线段树

    题意:给你N个花瓶,编号是0  到 N - 1 ,初始状态花瓶是空的,每个花瓶最多插一朵花. 然后有2个操作. 操作1,a b c ,往在a位置后面(包括a)插b朵花,输出插入的首位置和末位置. 操作 ...

  9. 解决百度Ueditor编辑器表格不显示边框问题

    一.主要内容 CMS使用百度Ueditor编辑器中的表格功能,在编辑模式下可以正常显示边框,而文章发布之后表格不能显示边框.本博文经过查阅相关资料,最终解决了该问题. 二.使用平台 1. dedecm ...

  10. PHP文章管理(2)

    ##############index.php######################  <?session_start();  require"./inc/func.php&qu ...