填空题
1.在计算机存储中,12.5MB是多少字节 (结果为1个整数)?
答:(ll)(12.5x1024x1024)
2.由n对括号组成的合法括号序列一共有多少种?
// B. 合法括号序列
#include <bits/stdc++.h>
using namespace std;
int ans,n;
void dfs(int l,int r)
{
if(l==n) //当我们已经添加了四个左括号说明已有八个括号匹配完毕
{
ans++;
return;
}
dfs(l+1,r); //先添加左括号
if(l>r) dfs(l,r+1); //括号合法添加右括号
}
int main()
{
cin>>n;
dfs(0,0);
cout<<ans<<endl;
return 0;
}
3.n个字母排列,每个字母都要被用上,问总共能排出多少个不同的单词。(单词不一定有具体的英文意义)
答:例如:LANQIAO这7个字母,排列总数为:(7,2) x C(5,1) x C(4,1) x C(3,1) x C(2,1) = 7x6x5x4x3。【先看出现次数超过1的字母。以此题为例,7个字母对应7个位置。先在n个位置中取2个放出现2次的A,剩余的5个字母,第一个能放的位置有5种情况,第二个…4中情况…】
4.一个包含有2019个结点的无向连通图,最少包含多少条边?
答:连通图中树的边最少,设节点数为n,结果为n-1。
5.n个节点,求互不相似的二叉树的形态数目
答:An = (1/n+1) x C(2n,n)
6.n个节点,求互不相似的树的形态数目
答:Bn = A(n-1)
7.n个节点,求互不相似的森林的形态数目
答:Dn = An
8.二叉树叶子节点和节点总数的关系
答:n=n0+n1+n2、n=1+n1+2* n2、n=2* n0+n1-1
9.二叉树相关的公式
10.n个不同的元素依次入栈,求所有可能的出栈顺序
答:卡特兰数,C(2n,n) – C(2n,n+1)
如果具体到某种排列的话。方法,先把每种数字开头的全部排列写出来,再去排除不符合要求的。(如果只问数目的话,直接用公式就好了),求所有符合要求的排列则用秘诀【秘诀的解释:以任何一个数字为界,后面比它小的都要逆序排列,符合要求即正确】。
11.求日期之差
答:用excel公式计算,结果+1
12.网格找矩形(正方形)问题