多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 互聯(lián)網(wǎng) > wikioi 1029 中序遍歷總數(shù)

wikioi 1029 中序遍歷總數(shù)

來源:程序員人生   發(fā)布時間:2014-10-17 05:02:13 閱讀次數(shù):3475次

題意:給出前序遍歷和后序遍歷,求總共有多少種中序遍歷的可能。

思路:

對于一個節(jié)點,當(dāng)且僅當(dāng)它僅有一棵子樹時,在保證先序和后序相同的前提下,才可能有不同的中序(它的子樹可在左或右,所以有2種);

此時必有a[i+1]==b[j-1](為什么)//i是節(jié)點在先序中的位置,j是它在后序中的位置;

因此只要找到這種節(jié)點的個數(shù)設(shè)為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; }


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久精品屋 | 精品久久久视频 | 成人精品第一区二区三区 | 国产成人精品免费视频网页大全 | 九色最新网址 | 欧美日本视频一区 | 欧美多人 | jizzjizzjizz中国 | 欧美巨大另类极品video | 中文字幕视频在线观看 | 最近最新中文字幕免费高清1 | 欧美一区二区三区日韩免费播 | 性欧美videofreel另类 | 国产人澡人澡澡澡人碰视频 | 欧美午夜三级我不卡在线观看 | 亚洲精品免费在线 | 手机看片地址 | 国产高清一区二区三区 | 久久色亚洲 | 一区二区不卡久久精品 | 99热久久精品最新 | 成年人在线观看视频网站 | 国产高清看片日韩欧美久久 | 亚欧乱色一区二区三区 | 性做久久久久久网站 | 韩国v欧美v亚洲v日本v | 免费观看欧美一级高清 | 日本大臿亚洲香蕉大片 | 男人边吃奶边摸下面好爽视频 | 在免费jizzjizz在线视频 | 亚洲成人免费看 | 日本道在线视频 | 日本aaaaa级毛片片 | 黑人巨大 | 亚洲国产精品综合久久20 | 国产亚洲精品观看91在线 | freexxx性韩国 | 美国一级免费 | 亚洲日本在线免费观看 | 老妇女人一级毛片 | 天堂在线视频观看 |