题意:给出前序遍历和后序遍历,求总共同拥有多少种中序遍历的可能。

思路:

对于一个节点。当且仅当它仅有一棵子树时,在保证先序和后序同样的前提下,才可能有不同的中序(它的子树可在左或右,所以有2种);

此时必有a[i+1]==b[j-1](为什么)//i是节点在先序中的位置。j是它在后序中的位置;

因此仅仅要找到这样的节点的个数设为x。ans=2^x。

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>
#include<queue>
#include<set>
#include<cmath>
#include<bitset>
#define mem(a,b) memset(a,b,sizeof(a))
#define lson i<<1,l,mid
#define rson i<<1|1,mid+1,r
#define llson j<<1,l,mid
#define rrson j<<1|1,mid+1,r
#define INF 0x7fffffff
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
int main()
{
char s[27],ss[27];
scanf("%s%s",s,ss);
int i,j,len=strlen(s),rr=strlen(ss),ans=0;
for(i=0;i<len;i++)
for(j=0;j<rr;j++)
if(s[i]==ss[j]&&i>0&&s[i-1]==ss[j+1])
ans++;
ll cnt=1LL<<ans;
cout<<cnt<<endl;
return 0;
}

最新文章

  1. 初识ASP.NET Core 1.0
  2. HTML5 File详解
  3. Acadia Lab 228 + Lab 222
  4. 第一步 django的下载安装
  5. php入门常量
  6. RelativeLayout相对布局 安卓布局技巧
  7. MFC 仿QQ聊天软件(黄花寒)
  8. trailingZeroes
  9. (转载)js获取JqueryString方法小结
  10. win32收不到F10按键消息解决办法
  11. [Oracle] 分析功能(1)- 语法
  12. 九思老客户分享:部署OA办公系统的四大意义
  13. vijos1056题解
  14. 鸟哥的linux私房菜学习-(五)补充:重点回顾
  15. shiro权限框架(三)
  16. bzoj 1488: [HNOI2009]图的同构
  17. 正确分析结构使用正确的HTML标签。CSS样式写一起。
  18. Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景
  19. Java实现大数加法运算的几种方法
  20. Luogu P4484 [BJWC2018]最长上升子序列

热门文章

  1. UIPickerView 多级联动
  2. Android Error:Unable to find method &#39;com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;&#39;.
  3. JVM GC调优一则–增大Eden Space提高性能
  4. Farseer.net轻量级开源框架 中级篇:DbFactory数据工厂
  5. CAD插入图片
  6. java虚拟机(八)--java性能监控与故障处理工具
  7. ANNOTATION and analyse hello1.java
  8. Unity中播放带有alpha通道格式为Mp4的视频
  9. Oracle中的COALESCE,NVL,NVL2,NULLIF函数
  10. Luogu P1692 部落卫队