CF1949F 题解

news/发布时间2024/5/21 6:01:44

CF1949F

思路

不合法情况要么完全包含要么不交。按 \(k_i\) 大小从小到大排序。实时记录每个爱好 \(j\) 对应的最后的人 \(f_j\)。当枚举到 \(i\) 时,枚举 \(i\) 的每个爱好 \(j\),如果最后不合法意味着每个 \(f_j\) 的爱好都被 \(i\) 完全包含,枚举 \(f_j\) 所有爱好判断,否则找到一组解。如果最后不合法,所有 \(f_j\) 的爱好数之和为 \(k_i\),所以复杂度瓶颈在排序的 \(O(n\log n)\)

code

int n,m;
vector<int> a[maxn];
int id[maxn],f[maxn];
bool cmp(int u,int v){return a[u].size()<a[v].size();}
bool vis[maxn];
void work(){n=read();m=read();for(int i=1;i<=n;i++){int x=read();while(x--){int u=read();a[i].push_back(u);}id[i]=i;}sort(id+1,id+n+1,cmp);for(int i=1;i<=n;i++){for(int j:a[id[i]])vis[j]=1;for(int j:a[id[i]])if(f[j]!=id[i]){if(!f[j])f[j]=id[i];else{int p=f[j];for(int k:a[p]){if(!vis[k]){printf("YES\n%lld %lld\n",p,id[i]);return ;}f[k]=id[i];}}}for(int j:a[id[i]])vis[j]=0;}printf("NO\n");
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/13830102.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

项目打包与上线

目录1.修改好上线环境中的请求地址2.打包项目3.连接服务器4.配置nginx代理5.上线成功 1.修改好上线环境中的请求地址2.打包项目进入项目根目录,输入npm run build解决报错问题 当我们无法解决多而烦的ts检查报错时,可以在项目中的package.json文件中把下图中原本的红色框内容…

实验四:代码审查

一、实验题目 :代码审查 二、实验目的 1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查; 2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。 三、实验内容 1、IDEA环境和PyCharm环境二选一; IDEA环境 (1)预先准备在IDEA环境下实现对输…

docker的一些命令 以及dockerFile语法

文件夹重新命名mv node-v14.18.1-linux-x64 node-v14.18.1 dokcer 命令 将linux的文件复制到docker容器里面 docker cp /usr/local/node-v14.18.1/ 8ec26052dfad:/usr/local/node-v14.18.1 将docker容器里面的文件复制到linux docker container cp ng…

【自动化测试】关键字驱动接口自动化测试

1. 概念:  在软件测试领域,"数据驱动"和"关键字驱动"是两种自动化测试的设计模式, 它们都旨在提高测试效率,减少重复劳动,但它们的实现方式和应用场景有所不同。(1) 数据驱动(Data-Driven Testing, DDT):**优点**     a. 可变数据:测试数据的…

数仓安全:数据脱敏技术深度解析

GaussDB (DWS)产品8.1.1版本发布数据脱敏特性,提供指定用户范围内列级敏感数据的脱敏功能,具有灵活、高效、透明、友好等优点,极大地增强产品的数据安全能力。本文分享自华为云社区《GaussDB(DWS)安全管理之数据脱敏原理与使用方法介绍》,作者: VV一笑。 1. 前言适用版本:…

python教程10-元祖

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。因此很少使用 元组使用小括号 ( ),列表使用方括号 [ ] 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用:元祖调用:修改元祖 元组中的元素值是不允许修改的,但我们可以对元组进行连…