Codeforces-868C. Qualification Rounds(状压)
传送门
N题K人,给出N行K列数据,aij为1代表i题被第j个人所了解。求是否能找出一套题(在这N题中找任意题)使得每个人了解的题不超过这套题数目的一半。(1 ≤ n ≤ 105, 1 ≤ k ≤ 4)
需要先证明要么使用一道题,要么使用两道题,如果有解,那么答案有解,否则答案无解。(一道是特殊情况,当存在多道题构成的解,我们可以反证,说明其中必然有两道可以满足条件)
注意到k很小,我们就会联想到状压dp.
1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <algorithm> 5 #define INF 0x3f3f3f3f 6 #define MOD 1000000007 7 using namespace std; 8 typedef long long LL; 9 10 int N, K; 11 const int max_s = 20; 12 bool vis[max_s]; 13 14 int main() { 15 scanf("%d%d", &N, &K); 16 for (int i = 1; i <= N; i++) { 17 int state = 0; 18 for (int j = 1; j <= K; j++) { 19 int t; 20 scanf("%d", &t); 21 state |= ((1 << (j - 1)) * t); 22 } 23 vis[state] = 1; 24 } 25 bool flag = 0; 26 for (int i = 0; i < (1 << 4) && !flag; i++) { 27 for (int j = 0; j < (1 << 4) && !flag; j++) { 28 if (!vis[i] || !vis[j]) continue; 29 if ((i & j) == 0) { 30 flag = 1; 31 } 32 } 33 } 34 if (flag) { 35 puts("YES"); 36 } else { 37 puts("NO"); 38 } 39 return 0; 40 }
转载于:https://www.cnblogs.com/xFANx/p/8413473.html
Codeforces-868C. Qualification Rounds(状压)相关推荐
- C. Qualification Rounds(状压思维)
C. Qualification Rounds(状压&思维) 若有解最多选两个. 选奇数肯定没有选偶数优,在奇数的基础上减少一个1最多的问题是更优的. 所以只需考虑偶数情况. 假设存在4个问题 ...
- CodeForces 868C Qualification Rounds
题目链接:http://codeforces.com/contest/868/problem/C 题意:有n到题目,有k支队为,每只队伍对于每到题目来说,有会(1)的有不会(0)的,现在问你能不能从这 ...
- codeforces 868C - Qualification Rounds
题目链接: http://codeforces.com/problemset/problem/868/C 题解: 离散化后,只要确定有一对满足条件就行了,但是需要注意只有一个的特殊情况. 代码: #i ...
- Codeforces 868C - Qualification Rounds 思维
题目:斯纳克和菲利普正在为即将到来的半决赛预赛做准备.他们有一个含有N个问题的银行,他们想选择任何非空子集作为问题集. 有K个经验丰富的球队正在参加比赛.这些团队中的一些已经知道了一些问题.为了让比赛 ...
- CodeForces - 1550E Stringforces(二分+状压dp)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的字符串,只包含前 kkk 个小写字母以及通配符 ???,现在可以将通配符替换成任意的前 kkk 个字母中的一个.设 f[i]f[i]f[i] 为 ...
- CodeForces - 1523D Love-Hate(随机数+状压dp)
题目链接:点击查看 题目大意:给出 nnn 个 010101 序列表示二进制状态,问选择至少 ⌈n2⌉\lceil \frac{n}{2}\rceil⌈2n⌉ 个状态进行位运算的与运算后得到的答案中 ...
- Codeforces ----- Kefa and Dishes [状压dp]
题目传送门:580D 题目大意:给你n道菜以及每道菜一个权值,k个条件,即第y道菜在第x道后马上吃有z的附加值,求从中取m道菜的最大权值 看到这道题,我们会想到去枚举,但是很显然这是会超时的,再一看数 ...
- Codeforces 1741G 最短路上状压dp
题意: 有 n n n个地方,他们被 m m m条道路相连.有一天, t o t tot tot个人在 1 1 1处开派对,开完派对他们要回家,他们回家只会走最短路径,其中有 k ( k ≤ 6 ) ...
- CodeForces - 1316E Team Building(状压dp)
题目链接:点击查看 题目大意:给出 n 个人,现在需要 p 个球员和 k 个啦啦队员,n 个人当啦啦队员以及当第 i 个位置的球员所做的贡献都会给出,现在问如何分配可以使得总贡献和最大 题目分析:因为 ...
最新文章
- Windows下使用Tesseract进行OCR文字识别
- python类型转换-Python的数据类型转换函数
- CentOS启动不显示图形界面直接进入命令行模式
- jvm性能调优 - 05对象在JVM内存中的分配和流转
- service能去调另外一个service吗_kubernetes的service和pod是如何关联的?
- hdu 3652 B-number 数位dp
- in、at和on作为时间介词_23
- 吴恩达机器学习13.推荐系统
- Jedis与Lua脚本结合
- 【三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 155期】
- Android 代码中执行adb shell命令
- html图片闪光效果,CSS实现的一闪而过的图片闪光效果
- mysql创建表报错1055的原因_[Err] 1055
- python卡通滤镜_纯Python综合图像处理小工具(3)10种滤镜算法
- button 点击的涟漪效果
- 计算机网络覆盖的地理范围分类,计算机网络按地理范围可分为什么
- leetcode:32. 最长有效括号
- python爬取网页停止工作_python人员api停止工作
- java做RPG小游戏
- 【新书推荐】【2018.05】电磁兼容性的计算方法
热门文章
- java代码。继承。。。很戳我的心啊。。不太懂。super的真正用法
- oracle10g 学习 方向DBA三
- 异步fifo_异步FIFO设计
- 关于Oracle数据库19c中的关键字和保留字的说明
- XamarinEssentials教程设置首选项Preferences的值
- Web应用扫描测试工具Vega
- 伪造服务钓鱼工具Ghost Phisher
- iOS 9音频应用播放音频之第一个ios9音频实例
- Android渗透测试Android渗透测试入门教程大学霸
- 删除链表的倒数第n个节点 python_19.leetcode题目讲解(Python):删除链表的倒数第N个节点...