当前位置: 首页 > news >正文

1882B - Sets and Union

题意就是有n个集合,对n个集合做并集得到 S S S, 现在抽n个集合中的集合做交集得到 T T T,问如何做让 S ≠ T S\neq T S=T,并且让 T T T尽可能大。

这道题如果数据大一些做不了,但是数字大小只在50之间,并且集合的大小50,n大小50。 我们可以用一个long long字符来存储集合的情况,因为 S ≠ T S\neq T S=T,所以我们可以枚举不在集合里的数字,然后排出有这个数字的集合。统计情况就行了。
复杂度就是n*50= 2500,非常快

#include <bits/stdc++.h>
#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;
void solve()
{int n;cin >> n;ll S = 0;vector<ll> s;for (int i = 1; i <= n; i++){int m;cin >> m;ll t = 0;for (int j = 1; j <= m; j++){ll x;cin >> x;S |= (1ll << x);t |= (1ll << x);}s.push_back(t);}int mx = 0;for (int i = 1; i <= 50; i++){ll X = 0;if ((S >> i & 1) == 1){ll t =  0;for (ll x : s){   if ((x >> i & 1) == 0){t |= x;}}X |= t;}mx = max(mx, __builtin_popcountll(X));}cout << mx << "\n";
}
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int t;cin >> t;while (t--){solve();}return 0;
}
http://www.lryc.cn/news/459607.html

相关文章:

  • thinkphp阿里云发送短信验证码,存储到缓存中完成手机号验证
  • 题目解析:1423. 可获得的最大点数
  • 【MySQL】数据库的操作
  • Spring Boot读取resources目录下文件(打成jar可用),并放入Guava缓存
  • rsync 数据镜像同步服务笔记
  • 【layui】多文件上传组件实现
  • 多维最短路
  • 设计模式03-装饰模式(Java)
  • TiDB 监控组件之 Blackbox_exporter 运行原理
  • Java之网络编程详解
  • 苍穹外卖学习笔记(二十)
  • 2024 第一次周赛
  • 【数据脱敏方案】不使用 AOP + 注解,使用 SpringBoot+YAML 实现
  • dbt doc 生成文档命令示例应用
  • 【Windows】【DevOps】Windows Server 2022 安装ansible,基于powershell实现远程自动化运维部署 入门到放弃!
  • 深入理解 Parquet 文件格式
  • 计算机挑战赛3
  • 深度学习:循环神经网络—RNN的原理
  • 蓝桥杯刷题--幸运数字
  • Node.js入门——fs、path模块、URL端口号、模块化导入导出、包、npm软件包管理器
  • 多元线性回归:机器学习中的经典模型探讨
  • 域1:安全与风险管理 第1章实现安全治理的原则和策略
  • 【大数据】学习大数据开发应该从哪些技术栈开始学习?
  • CentOS快速配置网络Docker快速部署
  • Grounded-SAM Demo部署搭建
  • C语言 | 第十六章 | 共用体 家庭收支软件-1
  • 【论文阅读】Learning a Few-shot Embedding Model with Contrastive Learning
  • OKHTTP 如何处理请求超时和重连机制
  • 基于Springboot vue的流浪狗领养管理系统设计与实现
  • 爬虫案例——网易新闻数据的爬取