【HDU6344】调查问卷【状压】【模拟】

【USACO3.1.5】【洛谷P2724】联系 Contact【模拟】 USACO的一道质量较高的模拟题 阅读详情

题目大意:

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6344
给出 n n n个答卷,每个答卷有 m m m道判断题,全部由 A A A和 B B B组成。这 m m m道判断题里有多少个题目子集,满足至少有 k k k对试卷在这些问题上面的答案是不同的。


思路:

m ≤ 10 m\leq 10 m≤10,可以考虑先状压。
设 a [ i ] a[i] a[i]为第 i i i张试卷压缩后的状态,那么枚举一个题目子集 S S S,将 S S S与所有试卷进行与运算,并记录进一个 h h h数组。如果现在枚举到第 j j j张试卷, h [ S & a [ j ] ] h[S\&a[j]] h[S&a[j]]有 k k k个,那么就有 j − k j-k j−k张试卷可以和第 j j j张试卷匹配。最终判断匹配数,如果超过要求,这个子集就是可以的, a n s ans ans加一。


代码:

#include <cstdio>
#include <iostream>
#include <cstring>
#define N 1010 
#define MAXN 1023
using namespace std;

int t,n,m,k,sum,ans,a[N],h[MAXN+10];
char c;

int main()
{
	scanf("%d",&t);
	for (int l=1;l<=t;l++)
	{
		scanf("%d%d%d",&n,&m,&k);
		memset(a,0,sizeof(a));
		for (int i=1;i<=n;i++)
		 for (int j=m-1;j>=0;j--)
		 {
		 	cin>>c;
		 	if (c=='A') a[i]+=(1<<j);  //状压
		 }
		ans=0;
		for (int i=1;i<(1<<m);i++)
		{
			sum=0;
			memset(h,0,sizeof(h));
			for (int j=1;j<=n;j++)
			{
				h[i&a[j]]++;  //记录个数
				sum=sum+(j-h[i&a[j]]);
			}
			if (sum>=k) ans++;
		} 
		printf("Case #%d: %d\n",l,ans);
	}
}
智能座舱通信技术解析:从CAN总线到车载以太网与V2X 在汽车电子与智能网联快速融合的背景下,座舱智能化已不再是简单的屏幕堆砌,而是依赖底层通信技术构建的复杂系统。CAN总线因高可靠性与确定性传输,持续承担车身控制与安全信号的传递;车载以太网则凭借高带宽优势,成为多屏高清视频与OTA升级的核心通道;V2X车路协同技术进一步将座舱与外界的实时信息互联。理解这些技术的分工协作,是掌握智能座舱架构、开展座舱测试与故障排查的关键。本文从实际测试经验出发,梳理不同总线在座舱内部及外部的应用逻辑,结合低成本的实验台架搭建指南,展示从信号采集、网关转发到多媒体流传输的完整链路 阅读详情

相关推荐

达梦数据库集群部署(主备)

达梦数据库集群部署(主备)

m0_71845127的博客 1461

HDU - 6344 调查问卷(深刻理解题意,巧用二进制+dp)

题目链接:https://vjudge.net/contest/328717#problem/G 度度熊为了完成毕业论文,需要收集一些数据来支撑他的论据,于是设计了一份包含 m 个问题的调查问卷,每个问题只有 ‘A’ 和 ‘B’ 两种选项。 将问卷散发出去之后,度度熊收到了 n 份互不相同的问卷,在整理结果的时候,他发现可以只保留其中的一部分问题,使得这 n 份问卷仍然是互不相同的。这里认为两张问...

zaiyang遇见 618

Pixel 6 Pro升级Android 13变砖急救指南:Fastboot全分区修复实战

本文提供Pixel 6 Pro升级Android 13变砖后的Fastboot全分区修复实战指南,详细解析变砖原因、必备工具准备、Fastboot模式解锁、全分区擦除操作及手动刷入官方ROM的完整流程,帮助用户高效解决设备变砖问题。

weixin_28693447的博客 485

hdu 6344 调查问卷

#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <vector> using namespace std; /* 1. 利用二进制枚举子集(问题的组合 <= 2 ^ m - 1),二进制的位...

weixin_30787531的博客 149

使用mixamo导入人物动作到unity

导入的材质是withoutSkin时选择Create From Other Model + 选择带withSkin里的。方案二:Textures选择Extract Textures,将文件存放到喜欢的位置(不行继续方案三)2.动画没有动:开个Animation窗口,选择人物的Prefab(Hierachy),查看窗口左侧。方案三:选中素材自带或者导出的Material,接着方案一选择 选中的materials进行转化。选 withSkin,剩下的动作选without Skin)(角色发生位移时出现选项)

big_good_boy的博客 1635

03.Linux下目录动态扩容,以分配home的部分空间给root为例

本篇文章将介绍Linux下分配home目录的部分空间给root目录。大致思路:卸载home,解除其磁盘容量占用->扩容root,增加其磁盘空间->重建恢复home操作演示环境为CentOS系统,其他操作系统例如openEuler也可作为参考。01.Linux下目录扩容,以增加root目录的磁盘容量分配为例操作系统版本如下名称版本CentOS7.6+

ChennyWJS的博客 2337

百度之星资格赛 调查问卷 bitset模板(直接将字符串转化成二进制数组并可以计算出十进制值)...

Problem Description 度度熊为了完成毕业论文,需要收集一些数据来支撑他的论据,于是设计了一份包含mm个问题的调查问卷,每个问题只有 'A' 和 'B' 两种选项。 将问卷散发出去之后,度度熊收到了nn份互不相同的问卷,在整理结果的时候,他发现可以只保留其中的一部分问题,使得这nn份问卷仍然是互不相同的。这里认为两张问卷是不同的,当且仅当存在至少一个被保留的...

weixin_34097242的博客 200

Altium Designer操作技巧(1)——原理图中如何批量替换元器件?

《AltiumDesigner批量替换元器件技巧分享》摘要:本文介绍了两种在AltiumDesigner中批量替换元器件的实用方法。方法一通过“查找相似对象”功能,可精准匹配并批量修改器件参数;方法二利用ActiveBOM功能,在BOM表中直观操作器件替换,推荐使用第二种方法可使BOM管理更高效。这些技巧能有效减少物料种类、降低贴装成本,特别适用于电阻电容等常用器件的批量替换。关注公众号获取更多电子设计技巧。

u012526819的博客 2582

2018百度之星程序设计大赛(资格赛) 调查问卷 HDU6344 解题思路

题目链接 HDU 6344 调查问卷 目录 题目链接 HDU 6344 调查问卷   1、题目分析   2、细节思路   3、算法设计   4、程序代码 本人算法竞赛小菜鸡一只,这也是我第一篇博客,希望能和网上的各路大神分享自己的思路,在交流中不断进步! 话不多说,我来说说我对这道题目的思路:   1、题目分析   本题主要意思就是存在 n 份问卷,每份问卷存在 m 个问题,求...

XiangJiaoJun_的博客 687

手把手教 - VSCode 开发 GD32F450 单片机

系统版本:rt-thread v5.2.2单片机型号:GD32F450ZK基于文章进行开发。

weixin_46158019的博客 841

jieba分词

jieba

sikh_0529的博客 1万+

2018百度之星程序设计大赛资格赛——1001调查问卷

HDU-6344 Problem Description 度度熊为了完成毕业论文,需要收集一些数据来支撑他的论据,于是设计了一份包含 m 个问题的调查问卷,每个问题只有 'A' 和 'B' 两种选项。 将问卷散发出去之后,度度熊收到了 n 份互不相同的问卷,在整理结果的时候,他发现可以只保留其中的一部分问题,使得这 n 份问卷仍然是互不相同的。这里认为两张问卷是不同的,当且仅当存在至少一个被保...

毕业设计选题帮助、项目指导,欢迎打扰 486

Python爬虫实战:微信小程序内容采集的全面指南

在移动互联网时代,微信小程序已成为企业和个人提供服务的重要渠道。小程序中包含了大量有价值的信息,但微信官方并未提供便捷的数据获取接口。本文将详细介绍如何使用Python爬虫技术采集微信小程序内容,包括最新技术方案、完整代码实现以及应对各种反爬机制的策略。小程序运行在微信封闭环境中,无法直接访问数据通信主要通过HTTPS加密传输内容动态加载,依赖JavaScript渲染微信有严格的反爬机制。

2201_76125261的博客 3116

HDU6344 调查问卷

状态压缩 + 模拟 把AB串压缩成二进制,A用1表示,B用0表示。 枚举所有问题的子集,选中的问题用1表示,其余的用0表示。对于每个子集,我们去和所有问题按位与,这样对于选中的问题,答案是A的都是1,答案是B的都是0,不同的回答得到的状态也不同。 最后统计每个子集是否有超过k组问题不一样就行了。 #include <bits/stdc++.h> #define INF 0x3...

weixin_30739595的博客 173

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

2018_10_7 模拟赛

前言 OTL hdu 6344 调查问卷 题目 nnn份互不相同的问卷,在整理结果的时候,他发现可以只保留其中的一部分问题,使得其中kkk份问卷仍然是互不相同的。这里认为两张问卷是不同的,当且仅当存在至少一个被保留的问题在这两份问卷中的回答不同。问有多少个问题的子集满足以上要求 分析 然而(比赛)题目比较玄学,可能理解有问题,但是实际上还是知道的,由于问题数较少,可以用状态压缩,枚举子集,用总...

lemondinosaur的博客 205

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

2018"百度之星"程序设计大赛 - 资格赛 - 调查问卷 (状态压缩)

  http://acm.hdu.edu.cn/showproblem.php?pid=6344   POINT: 先n2的效率把每对问卷不同的答案状压压缩完。 得到一个1&lt;&lt;m的数组保存了,x这个状态对应的所以答案不同的卷子有几对。   然后枚举答案,x和y 如果x&amp;y&gt;0,代表有贡献。   #include &lt;stdio.h&gt; #inc...

Mr_Treeeee的博客 394

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

2018"百度之星"程序设计大赛 - 资格赛 杭电oj 6344-6345

链接:点我 1001:状态压缩,枚举二进制状态 #include&amp;amp;lt;iostream&amp;amp;gt; #include&amp;amp;lt;cstdio&amp;amp;gt; #include&amp;amp;lt;cstring&amp;amp;gt; using namespace std; const int maxn=1010; char ch[maxn][12]; int xiong[maxn]; int c

小灰狼与大白兔的博客 1207

2018百度之星程序设计大赛(资格赛) 子串查询 HDU6345 解题思路

题目链接 HDU 6345 子串查询 目录1、题目分析2、细节思路3、算法设计4、程序代码 1、题目分析   本题只要看懂了题意其实还是不难的,题目意思是要求出给定区间中最小子串的个数,所以1、找到最小子串 2、求出最小子串的个数   根据题意,其实最小子串就是给定区间中字典序最小的单个字母,明白了这点,那么本题的就是求解,给定区间中字典序最小的单个字母出现的次数 2、细节思路   根据题...

XiangJiaoJun_的博客 388

【洛谷P4997】不围棋【并查集】【模拟】

题目大意: 题目链接:https://www.luogu.org/problemnew/show/P4997 「不围棋」是一种非常有趣的棋类游戏。 大家都知道,围棋的「气」是指一个棋子所在的联通块相邻的空格。两粒棋如果在棋盘上线段的两端就认为是相邻的,也就是在同一个连通块里。比如在图中,白子为四个独立的连通块,黑子构成一个连通块,绿色点是黑子连通块唯一的「气」: 「提子」是指将没有「气」的棋子提...

stoorz 5083

【JZOJ3888】正确答案【模拟】【dfs】

题目: 题目链接:https://jzoj.net/senior/#main/show/3888 小H与小Y刚刚参加完UOIP外卡组的初赛,就迫不及待的跑出考场对答案。 “吔,我的答案和你都不一样!”,小Y说道,”我们去找神犇们问答案吧”。 外卡组试卷中共有m道判断题,小H与小Y一共从其他n个神犇那问了答案。之后又从小G那里得知,这n个神犇中有p个考了满分,q个考了零分,其他神犇不为满分或零分。这...

stoorz 989

【JZOJ5775】农夫约的假期【模拟】

题目大意: 题目链接:https://jzoj.net/senior/#main/show/5775 题目图片: https://www.z4a.net/images/2018/09/23/1.png https://www.z4a.net/images/2018/09/23/2.md.png https://www.z4a.net/images/2018/09/23/3.png https://...

stoorz 793

【JZOJ100046】收集卡片【模拟】

题目大意: 题目链接:https://jzoj.net/senior/#main/show/100046 题目图片: http://wx3.sinaimg.cn/mw690/0060lm7Tly1fy7ghcpx5gj30j50fc0t4.jpg http://wx4.sinaimg.cn/mw690/0060lm7Tly1fy7ghcpmnaj30j605dt8m.jpg 给出一个长nnn的字符...

stoorz 636

【牛客想开了大赛2 B】n的约数【打表】

打表题233333

stoorz 586

【JZOJ3084】超级变变变【模拟】【规律】

规律题

stoorz 464

【洛谷P5514】永夜的报应【模拟】

题目大意: 题目链接:https://www.luogu.org/problem/P5514 给定一个长度为nnn的数列,把每一个数字分至一个组内。求每个组异或和之和的最小值。 思路: 因为亦或是不进位加法,所以x xor y≤x+yx\ xor\ y\leq x+yx xor y≤x+y。 所以两组数字异或起来一定不大于加起来。那么嗨不如合并两组。 所以...

stoorz 415
上一篇: 【USACO1.5】解题报告
下一篇: 【HDU6345】子串查询【前缀和】【线段树】
stoorz1023
博客等级 码龄9年 101粉丝 595原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值