传送门

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(状压)相关推荐

  1. C. Qualification Rounds(状压思维)

    C. Qualification Rounds(状压&思维) 若有解最多选两个. 选奇数肯定没有选偶数优,在奇数的基础上减少一个1最多的问题是更优的. 所以只需考虑偶数情况. 假设存在4个问题 ...

  2. CodeForces 868C Qualification Rounds

    题目链接:http://codeforces.com/contest/868/problem/C 题意:有n到题目,有k支队为,每只队伍对于每到题目来说,有会(1)的有不会(0)的,现在问你能不能从这 ...

  3. codeforces 868C - Qualification Rounds

    题目链接: http://codeforces.com/problemset/problem/868/C 题解: 离散化后,只要确定有一对满足条件就行了,但是需要注意只有一个的特殊情况. 代码: #i ...

  4. Codeforces 868C - Qualification Rounds 思维

    题目:斯纳克和菲利普正在为即将到来的半决赛预赛做准备.他们有一个含有N个问题的银行,他们想选择任何非空子集作为问题集. 有K个经验丰富的球队正在参加比赛.这些团队中的一些已经知道了一些问题.为了让比赛 ...

  5. CodeForces - 1550E Stringforces(二分+状压dp)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的字符串,只包含前 kkk 个小写字母以及通配符 ???,现在可以将通配符替换成任意的前 kkk 个字母中的一个.设 f[i]f[i]f[i] 为 ...

  6. CodeForces - 1523D Love-Hate(随机数+状压dp)

    题目链接:点击查看 题目大意:给出 nnn 个 010101 序列表示二进制状态,问选择至少 ⌈n2⌉\lceil \frac{n}{2}\rceil⌈2n​⌉ 个状态进行位运算的与运算后得到的答案中 ...

  7. Codeforces ----- Kefa and Dishes [状压dp]

    题目传送门:580D 题目大意:给你n道菜以及每道菜一个权值,k个条件,即第y道菜在第x道后马上吃有z的附加值,求从中取m道菜的最大权值 看到这道题,我们会想到去枚举,但是很显然这是会超时的,再一看数 ...

  8. Codeforces 1741G 最短路上状压dp

    题意: 有 n n n个地方,他们被 m m m条道路相连.有一天, t o t tot tot个人在 1 1 1处开派对,开完派对他们要回家,他们回家只会走最短路径,其中有 k ( k ≤ 6 ) ...

  9. CodeForces - 1316E Team Building(状压dp)

    题目链接:点击查看 题目大意:给出 n 个人,现在需要 p 个球员和 k 个啦啦队员,n 个人当啦啦队员以及当第 i 个位置的球员所做的贡献都会给出,现在问如何分配可以使得总贡献和最大 题目分析:因为 ...

最新文章

  1. PMcaff活动 | 汪培公:农村电商模式的重新思考
  2. 累了,开心一下。传说中的脑壳进水
  3. java threadlocal 缺点_Java的ThreadLocal如何在后台实现?
  4. extern 使用方法具体解释
  5. 【职场】高薪的条件你满足几条?
  6. docker es持久化_Docker 搭建 ES 集群并整合 Spring Boot
  7. Redis快速扫描Scan
  8. 离散数学及其应用傅彦pdf_《离散数学及其应用》第二章 计算与探索
  9. python爬虫03
  10. python常用内置方法_Python3 常用的几个内置方法
  11. Kotlin中使用RxJAVA的map()操作符遇到的问题
  12. 【转载】怎样成为优秀的电子工程师?另外求本文出处
  13. Jetson Nano 读取 GPS数据(TTL转 USB)
  14. 李宏毅机器学习-- RNN
  15. Microsoft Excel 教程:如何在 Excel 中创建自定义数字格式?
  16. 图片,表格末尾紧贴上方图片或表格添加脚注/备注
  17. 房屋租赁合同电子版最新版(word版本适合个人租房用)
  18. 咸鱼的 Github 情报 | 一个支持边下边播、无版权限制和自动上传的BT离线下载程序...
  19. 小米6内存测试软件,小米6采用的是eMMC还是UFS2.1?来测试一下吧
  20. 旋转目标检测 校准的深度特征用于目标检测SSA

热门文章

  1. UI仿写 - 收藏集 - 掘金
  2. 《HTML5游戏编程核心技术与实战》一2.6 其他全局属性
  3. 浅析物流行业文档规范管理
  4. lanmp/lamp/lnmp/lnamp一键安装
  5. mybatis配置mysql数据源_springboot+mybatis+Druid配置多数据源(mysql+postgre)
  6. python3默认编码格式_python3 中文乱码与默认编码格式设定方法
  7. eolinker开源版5_开源土豪沉金版空气质量检测仪AirWolf
  8. XamarinEssentials教程清空键值
  9. Java写文件的缓冲区有多大_java – 将FileChannel#write总是写入整个缓冲区...
  10. oracle数据库怎么导出dat文件_oracle导入导出dmp文件(详细步骤)