POJ 1240 Pre-Post-erous! 解题报告
题意:
给出一个m叉树的前,后序遍历求这样的树有多少种。
Solution:
我们知道前序遍历的第一个点一定是根节点,后序遍历的最后一个点一定是根节点。
由此,我们只一要确定对于每一个节点,它有多少个儿子节点,再累乘C(m,k)。
code
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
string sq, sh;
int len, ans,m;
int Combination (int n, int m)
{
int ans = 1;
for (int i = 1; i <= m; i++)
ans = ans * (n - i + 1) / i;
return ans;
}
void make (int l, int r, int t, int w) {
if (l > r || t > w) return;
int p = 0, i = 0;
while (l <= r) {
char s = sq[l];
for (i = 0; i < len; i++) if (sh[i] == s) break;
int k = w - i+1;
make (l+1, l+k-1, i+1, w);
l = l + k;
w=i-1;
p++;
}
ans*=Combination(m,p);
}
int main() {
while (cin >>m>> sq >> sh) {
len = (int) sq.size() - 1;
ans=1;
reverse (sh.begin(), sh.end() );
make (1, len, 1, len);
cout<<ans<<endl;
}
return 0;
}
POJ 1240 Pre-Post-erous! 解题报告的更多相关文章
- POJ 2054 Color a Tree解题报告
题干 Bob is very interested in the data structure of a tree. A tree is a directed graph in which a spe ...
- 【原创】POJ 1703 && RQNOJ 能量项链解题报告
唉 不想说什么了 poj 1703,从看完题到写完第一个版本的代码,只有15分钟 然后一直从晚上八点WA到第二天早上 最后终于发现了BUG,题目要求的“Not sure yet.”,我打成了“No s ...
- poj 3750 小孩报数问题 解题报告
题目链接:http://poj.org/problem?id=3750 约瑟夫问题,直接模拟即可. #include <iostream> #include <string> ...
- poj 3617 Best Cow Line 解题报告
题目链接:http://poj.org/problem?id=3617 题目意思:给出一条长度为n的字符串S,目标是要构造一条字典序尽量小,长度为n的字符串T.构造的规则是,如果S的头部的字母 < ...
- poj 2771 Guardian of Decency 解题报告
题目链接:http://poj.org/problem?id=2771 题目意思:有一个保守的老师要带他的学生来一次短途旅行,但是他又害怕有些人会变成情侣关系,于是就想出了一个方法: 1.身高差距 ...
- poj 1274 The Perfect Stall 解题报告
题目链接:http://poj.org/problem?id=1274 题目意思:有 n 头牛,m个stall,每头牛有它钟爱的一些stall,也就是几头牛有可能会钟爱同一个stall,问牛与 sta ...
- [poj 3349] Snowflake Snow Snowflakes 解题报告 (hash表)
题目链接:http://poj.org/problem?id=3349 Description You may have heard that no two snowflakes are alike. ...
- [poj 2480] Longge's problem 解题报告 (欧拉函数)
题目链接:http://poj.org/problem?id=2480 题目大意: 题解: 我一直很欣赏数学题完美的复杂度 #include<cstring> #include<al ...
- Poj 1163 The Triangle 之解题报告
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 42232 Accepted: 25527 Description 7 3 ...
- POJ 1062 昂贵的聘礼 解题报告
本题不难,但是笔者贡献了30多次Submit……就像Discuss讨论的一样,细节决定成败,WA了肯定有理由. 贴代码,Dijkstra+优先队列. #include <cstdio> # ...
随机推荐
- cscope使用
[[]][]再加上][一共是 4 个在段落(对于 C 来讲就是函数)间跳转的命令. 总结是:1,相同就跳到函数的开头:(如果都是左括号或者都是右括号),不同就跳到函数的结尾: { 和 } 用来 ...
- n数码问题, 全排列哈希
转载了一篇关于全排列的哈希函数,Poj1077就是应用了全排列的哈希: 我们经常使用的数的进制为“常数进制”,即始终逢p进1.例如,p进制数K可表示为 K = a0*p^0 + a1*p^1 + ...
- LNMP搭建(CentOS 6.3+Nginx 1.2.0+PHP 5.3.15(fpm)+ MySQL 5.5.35)
Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 ...
- Python修饰器
Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西.虽然好像,他们要干的事都 ...
- 平衡二叉树(AVL)java实现
数的节点 package com.ydp.tree.AVLTree; public class Node{ private int data = 0; private Node lchild = nu ...
- POJ 2912 Rochambeau
题意:有一些人玩石头剪刀布,其中有一个人(称其为裁判)可以出“石头”,“剪刀”,“布”中的任意一个,其他人永远只能出相同的一个.即有的人只能出剪刀,有的人只能出石头,有的人只能出布.进行了多次对决,每 ...
- DOM解析原理
用于处理XML文档的DOM元素属性 childNodes:返回当前元素所有子元素的数组: firstChild:返回当前元素的第一个下级子元素: lastChild:返回当前元素的最后一个子元素: n ...
- codeforces 610B
Description Vika has n jars with paints of distinct colors. All the jars are numbered from 1 to n an ...
- artTemplate的使用总结
原生语法 使用原生语法,需要导入template-native.js文件. 在HTML中定义模板,注意模板的位置,不要放到被渲染区域,防止模板丢失. <script id="main_ ...
- linux Tomcat restart脚本简单版
linux系统下重启tomcat的shell脚本: tomcat_home=/opt/apache-tomcat-6.0.32 #找到tomcat进程的id并kill掉 ps -ef |grep t ...