链接:https://www.nowcoder.com/acm/contest/145/C
来源:牛客网

Bit Compression

时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 262144K,其他语言524288K
Special Judge, 64bit IO Format: %lld

题目描述

A binary string s of length N = 2n is given. You will perform the following operation n times :

- Choose one of the operators AND (&), OR (|) or XOR (^). Suppose the current string is S = s1s2...sk. Then, for all , replace s2i-1s2i with the result obtained by applying the operator to s2i-1 and s2i. For example, if we apply XOR to {1101} we get {01}.

After n operations, the string will have length 1.

There are 3n ways to choose the n operations in total. How many of these ways will give 1 as the only character of the final string.

输入描述:

The first line of input contains a single integer n (1 ≤ n ≤ 18).The next line of input contains a single binary string s (|s| = 2n). All characters of s are either 0 or 1.

输出描述:

Output a single integer, the answer to the problem.

示例1

输入

复制

2
1001

输出

复制

4

说明

The sequences (XOR, OR), (XOR, AND), (OR, OR), (OR, AND) works.

题意:给出一个01串,每次从&、|、^里面选一个,对这个01串进行相应的操作,问最后得到1有多少中方法。

方法:就是思维。记录得到某个串有几种方法,再由这个串出发,得到的方法累加。

不懂的话可以手动运行3 11001100这个样例,再结合我上面说的记录得到某个串几种方法,递推下去。

int main()
{map<int,string>m;//第一个是关键字,first,键。第二个是键值。m[0]="休闲无心";m[1]="大好河山";m[2]="木青子";m[3]="红颜祸水";map<int,string>::iterator  Map_iter;for(Map_iter=m.begin();Map_iter!=m.end();Map_iter++){cout<<"key:"<<Map_iter->first<<" "<<"map:"<<Map_iter->second<<endl;}
}
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#include<bits/stdc++.h>
using namespace std;
map<string,int> mp[20];//string是关键字it->first.
map<string,int>::iterator it;
int main()
{int n;string s,sa,sb,sc;cin>>n>>s;mp[n][s]=1;for(int i=n;i>=1;i--){for(it=mp[i].begin();it!=mp[i].end();it++){s=it->first;int s1=it->second;int len=1<<i;sa=sb=sc="";for(int j=0;j<len;j+=2){sa+=((s[j]-'0')&(s[j+1]-'0'))+'0';sb+=((s[j]-'0')^(s[j+1]-'0'))+'0';sc+=((s[j]-'0')|(s[j+1]-'0'))+'0';}mp[i-1][sa]+=s1;mp[i-1][sb]+=s1;mp[i-1][sc]+=s1;}}cout<<mp[0]["1"]<<endl;return 0;
}

map--Bit Compression相关推荐

  1. Hadoop之 MapReducer工作过程

    1. 从输入到输出 一个MapReducer作业经过了input,map,combine,reduce,output五个阶段,其中combine阶段并不一定发生,map输出的中间结果被分到reduce ...

  2. FreeBSD下安装配置Hadoop集群(三)

    先给自己做个广告: 开源Hive管理工具phpHiveAdmin今日更新0.05 beta2 ChangeLog: 1. sql查询页全部重写,复杂查询现在可以用异步非阻塞的方式实时的查看map/re ...

  3. 2014-11-18--Hadoop的基础学习(五)--编写不同MapReudce程序及其特性(下)

    2019独角兽企业重金招聘Python工程师标准>>> 5.Combiner编程 Combiner实质上就是不同上下文的Reducer的功能是差不多的.所以说它本质上就是一个Redu ...

  4. FreeBSD下安装配置Hadoop集群(四)

    前面说过了NameNode,DataNode的配置方法,这次说Secondary的配置方法.hadoop为实现高可用,支持配置失效备份的Namenode,这样当主的Namenode挂掉了之后,可以从S ...

  5. 3.2-3.3 Hive中常见的数据压缩

    一.数据压缩 1. 数据压缩数据量小*本地磁盘,IO*减少网络IOHadoop作业通常是IO绑定的; 压缩减少了跨网络传输的数据的大小; 通过简单地启用压缩,可以提高总体作业性能; 要压缩的数据必须支 ...

  6. Hadoop Streaming框架使用(一)

      Streaming简介 link:http://www.cnblogs.com/luchen927/archive/2012/01/16/2323448.html Streaming框架允许任何程 ...

  7. mapreduce v1.0学习笔记

    它是什么? 一个用于处理大数据开源的分布式计算框架,它由java实现,原生提供java编程交互接口,其它语言通过hadoop streaming方式和mapreduce框架交互. 可以做什么? 利用框 ...

  8. 关于几种压缩算法以及hadoop和hbase中的压缩配置说明

    Hadoop中常用的压缩算法有bzip2.gzip.lzo.snappy,其中lzo.snappy需要操作系统安装native库才可以支持 下面这张表,是比较官方一点的统计,不同的场合用不同的压缩算法 ...

  9. hadoop 配置项的调优

    dfs.block.size 决定HDFS文件block数量的多少(文件个数),它会间接的影响Job Tracker的调度和内存的占用(更影响内存的使用), mapred.map.tasks.spec ...

  10. hadoop三个配置文件的参数含义说明

    1       获取默认配置 配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知 ...

最新文章

  1. 合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表
  2. android 快速 顶部,Android RecyclerView 快速滑到顶部
  3. 【李宏毅机器学习】Recurrent Neural Network Part1 循环神经网络(p20) 学习笔记
  4. MySQL半同步的配置
  5. 科创板鸣锣开市 一图带你了解首批25家公司
  6. teamviewer设备数量上限怎么解决_会议音响设备出现啸叫怎么办?不要担心,这3个方法帮你解决...
  7. sql查询初学者指南_适用于初学者SQL Server查询优化技巧与实际示例
  8. 笔者使用macOS的一些经验点滴记录1
  9. Nacos高可用集群解决方案-Docker版本
  10. centos安装后iptables基本设置
  11. jQuery验证框架教程
  12. 安天工程师解读CryptKeeper通用密码事件
  13. 在线JSON转Excel
  14. 解决FlashBuilder 调试有时IE假死问题
  15. Compilation failed to complete
  16. ?迅捷PDF转换成word转换器在线使用方法
  17. 计算机毕业设计如何制作电子商务网站怎么制作购物网站计算机课程设计电子商城做什么(PHP-ASP.NET-c#-JavaWeb-SSM-SSH-J2EE-springBoot
  18. REASONING ABOUT ENTAILMENT WITH NEURAL ATTENTION 论文阅读笔记
  19. OUC软件开发实验4
  20. 关于GPA Involution的思路+解法+代码

热门文章

  1. vscode android调试,使用VsCode开发调试React Native笔记
  2. 专科python应届生工资多少-应届毕业生自述面试15K月薪的Python后端开发经历,希望对你有用...
  3. python使用-Python 应该怎么去练习和使用?
  4. python使用缩进来体现-Python 使用缩进来体现代码之间的逻辑关系 .
  5. python爬虫实例100例-Python 练习实例1
  6. python有哪些用途-Python是什么 Python的用处
  7. python发音-Python如何实现文本转语音
  8. 长语音识别_长文本语音识别_语音 识别 - 云+社区 - 腾讯云
  9. Unity VR开发出语音识别功能
  10. mcp证书有什么用_初级会计职称有什么用?考下证书可以做什么工作?