题解(自别处转载):

  1. Luogu

  2. CSDN

这题关键是将运算符也替换成0,1

然后在运算符与原串混杂里找规律。

而且替换的方式也有所要求,考场上两种替换方式都要尝试。

#include <bitset>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <assert.h>
#include <algorithm> using namespace std; #define LL long long
#define debug(...) fprintf(stderr, __VA_ARGS__)
#define GO debug("GO\n") inline int rint() {
register int x = 0, f = 1; register char c;
while (!isdigit(c = getchar())) if (c == '-') f = -1;
while (x = (x << 1) + (x << 3) + (c ^ 48), isdigit(c = getchar()));
return x * f;
} template<typename T> inline void chkmin(T &a, T b) { a > b ? a = b : 0; }
template<typename T> inline void chkmax(T &a, T b) { a < b ? a = b : 0; } const int maxN = 5e3 + 10, mod = 1e9 + 7;
char b[maxN][maxN];
int n, m, q;
int buc[maxN], rk[maxN];
struct xhc {
int num[maxN]; int id; LL ans;
friend bool operator< (xhc a, xhc b) {
for (int i = 1; i <= n; ++ i)
if (a.num[i] != b.num[i]) return a.num[i] > b.num[i];
return 0;
}
} a[maxN]; LL qpow(LL a, LL b) {
LL res = 1;
for (; b; b >>= 1, a = a * a % mod)
if (b & 1) res = res * a % mod;
return res;
} int main() {
#ifndef ONLINE_JUDGE
freopen("xhc.in", "r", stdin);
freopen("xhc.out", "w", stdout);
#endif
ios::sync_with_stdio(0); cin >> n >> m >> q;
for (int i = 1; i <= n; ++ i)
cin >> (b[i] + 1); for (int i = 1; i <= m; ++ i) {
a[i].id = i;
for (int j = n; j >= 1; -- j) {
a[i].num[n - j + 1] = b[j][i] - '0';
a[i].ans = (1ll * (a[i].ans<<1ll) + (b[j][i] - '0')) % mod;
}
} sort(a + 1, a + m + 1);
for (int i = 1; i <= m; ++ i)
rk[a[i].id] = i;
a[0].ans = qpow(2, n); while (q--) {
static char str[maxN];
cin >> str;
for (int i = 1; i <= m; ++ i)
buc[rk[i]] = str[i - 1] - '0';
int pos0 = 0, pos1 = 0;
for (int i = m; i >= 1; -- i)
if (buc[i]) { pos1 = i; break; }
for (int i = 1; i <= m; ++ i)
if (!buc[i]) { pos0 = i; break; }
if (pos0 and pos1 and pos0 < pos1) puts("0");
else
printf("%lld\n", (a[pos1].ans + mod - a[pos1 + 1].ans) % mod);
}
}

[HNOI2018]寻宝游戏(题解转载自别处)的更多相关文章

  1. 【BZOJ5285】[HNOI2018]寻宝游戏(神仙题)

    [BZOJ5285][HNOI2018]寻宝游戏(神仙题) 题面 BZOJ 洛谷 题解 既然是二进制按位的运算,显然按位考虑. 发现这样一个关系,如果是\(or\)的话,只要\(or\ 1\),那么无 ...

  2. 5285: [Hnoi2018]寻宝游戏

    5285: [Hnoi2018]寻宝游戏 链接 分析: 从下面依次确定运算符号,然后在确定的过程中,需要确定的位数会逐渐减少.比如最后有一个1,如果在从下往上确定了一个or 1,那么再往前可以随便选了 ...

  3. BZOJ.5285.[AHOI/HNOI2018]寻宝游戏(思路 按位计算 基数排序..)

    BZOJ LOJ 洛谷 话说vae去年的专辑就叫寻宝游戏诶 只有我去搜Mystery Hunt和infinite corridor了吗... 同样按位考虑,假设\(m=1\). 我们要在一堆\(01\ ...

  4. 【题解】HNOI2018寻宝游戏

    太厉害啦……感觉看到了正解之后整个人都惊呆了一样.真的很强%%% 首先要注意到一个性质.位运算列与列之间是不会相互影响的,那么我们先观察使一列满足条件的操作序列需要满足什么条件.&0时,不论之 ...

  5. HNOI2018寻宝游戏

    https://www.luogu.org/problemnew/show/P4424 题解 我们首先按位考虑. 如果有一位最终的结果为1,那么我们可以把树的序列看成一个二进制数,先出现的在底位,后出 ...

  6. 【比赛】HNOI2018 寻宝游戏

    考试的时候就拿了30points滚粗了 听说myy对这题的倒推做法很无奈,官方题解在此 正解思路真的很巧妙,也说的很清楚了 就是分别考虑每一位,会发现题解中的那个性质,然后把询问的二进制数按照排序后的 ...

  7. BZOJ5285 & 洛谷4424 & UOJ384:[HNOI/AHOI2018]寻宝游戏——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=5285 https://www.luogu.org/problemnew/show/P4424 ht ...

  8. loj2494 [hnoi2018]寻宝游戏

    题意:给你n个元素的数组a.你可以在每个元素之前添加and和or的符号.每次询问最后变成r有多少种添号情况. n<=1000,m<=5000,q<=1000. 标程: #includ ...

  9. bzoj 5285: [Hnoi2018]寻宝游戏

    Description Solution 把输入的 \(n\) 个二进制数看作一个大小为 \(n*m\) 的矩阵 把每一列压成一个二进制数,其中最高位是最下面的元素 然后就有了 \(m\) 个二进制数 ...

随机推荐

  1. ElasticSearch搜索服务技术

    ElasticSearch 基于的lucene开发的搜索服务技术;天生支持分布式; Es的结构 gatway:存储层,所有的数据可以存储在本地(多个es节点形成分布式存储),hdfs输出位置,共享文件 ...

  2. 20181029NOIP模拟赛T3

    3 .空间活动 [题目描述] 贝茜和佩奇正在玩一款游戏,在游戏开始会生成一个有n个点m条单向边的地图,经过每条边需要花费价格为Hi的费用(Hi<=1000).但是如果两个点可以互相到达,那么这两 ...

  3. (Oracle)自定义调用AWR&ADDM

    Oracle->自定义调用AWR&ADDM 需求描述: 前面设定每天自动生成AWR用于提供前一天的数据库状态信息,但因数据库和信息过多不利于直观检查.此次新增ADDM诊断. ADDM诊断 ...

  4. Linux下安装 nginx

    安装依赖 yum install gcc yum install pcre-devel yum install zlib zlib-devel yum install openssl openssl- ...

  5. keepalived+haproxy 安装配置

    1.安装配置keepalived 修改配置文件/etc/keepalived/keepalived.conf ! Configuration File for keepalived global_de ...

  6. angular2或angular4中使用ckplayer播放rtmp和m3u8视频直播流

    1. 下载ckpalyer整个包并导入, 将ckplayer放到src/assets/下 2. 引入ckplayer.js angular2中,在angular-cli.json中找到script,添 ...

  7. QQ好友的价值玩法 及如何搞到几万好友?

    我们知道,现在的自媒体平台太多了.微信公众号,企鹅媒体平台,今日头条.搜狐.UC.一点等等等. 但是现在的话最主要的就是盈利,我们很多朋友玩自媒体这个在很多平台都有自己的账号和大量的粉丝.但是,最后大 ...

  8. FMX有一套自己的消息处理机制。类似这样:

    unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Var ...

  9. hive优化-数据倾斜优化

    数据倾斜解决方法,通常从以下几个方面进行考量: 业务上丢弃  •  不参与关联:在on条件上直接过滤 •  随机数打散:比如 null.空格.0等“Other”性质的特殊值  倾斜键记录单独处理 •  ...

  10. 第7章 YARN HA配置

    目录 7.1 yarn-site.xm文件配置 7.2 测试YARN自动故障转移 ResourceManager (RM)负责跟踪集群中的资源,以及调度应用程序(例如,MapReduce作业).在Ha ...