// zj蒟蒻瑟瑟发抖。。算法
// 停课了。要好好努力!——10月8日8:29于机房spa
1. 1946 年 美国 -> 第一台计算机排序
2. 真空电子管 -> 晶体管 -> 集成 -> 大规模集成队列
3. 字长:8位(8 bit)这种东西 balabala。。字符串
4. 主频:about 运算速度 e.g. pii300 -> 主频300Hz数学
5. 工厂自动化(FA). it
CAD -> design; CAI -> 辅助教学自动化
CAM -> manufacture; EDI -> 电子数据交换(关于无现金交易这样子)io
CAT -> test; OA -> office automation;table
6. 硬件结构:冯·诺依曼式(美籍匈牙利人) -> 运算器 / 控制器 / 存储器 / 输入(出)设备 => 存储程序的概念
7. 卡特兰数:$C_n=\frac{C^n_{2n}}{n+1}$
用途:1. 长度为 n 的进栈序列 1,2,3,...,n,求出栈种数
2. 在 (n+2) 边凸多边形内连若干不相交的对角线来划分三角形,求问几种?
3. n 个节点排 BST
4. n 对括号内有几种是匹配的?(in 所有状况)
8. 二叉树:$n_0=n_2+1$ 对于k叉树,联立边关系和点关系,也就是$n=n_0+n_1+...+n_k$(点关系)和 $n-1=k*n_k+...+n_1$,因而可推出。
9. 约瑟夫环问题:当n为2的幂次时,最后留下的都是1;当n不是的时候,两个2的幂次之间,留下的人的编号为3,5,7,9,......
k阶约瑟夫问题:O(n) DP :$f(1)=0$; $f(n)=(f(n-1)+k)mod\;n$ 出现0是由于mod的缘故,+1就能够了
n的值 | 队列 | 活下的人 |
1 | 1 | 1 |
2 | 1 2 | 1 |
3 | 1 2 3 | 3 |
4 | 1 2 3 4 | 1 |
5 | 1 2 3 4 5 | 3 |
6 | 1 2 3 4 5 6 | 5 |
7 | 1 2 3 4 5 6 7 | 7 |
8 | 1 2 3 4 5 6 7 8 | 1 |
10. 08年提升问题求解T2(21本书选四本,每两本编号不相邻):可有$1\le x_1<x_2-1<x_3-2<x_4-3\le18$,即将不连续的$x_1$,$x_2$,$x_3$,$x_4$映射到[1,18]的连续区间上,也就至关于$C_{18}^4$,故答案为3060.
11. 99年提升:n条折成角的直线,划分平面数目为$2n^2-n+1$。推论:直线分割平面:$\frac{n(n+1)}{2}+1$;封闭曲线(如通常位置上的圆)分割平面:$n^2-n+2$;平面分割空间:$\frac{n^3+5n}{6}+1$。
12. 07年普及:n个数划分r个非空集合,有$S(n,1)=1$; $S(n,n)=1$; $S(n,r)=S(n-1,r-1)+r\times S(n-1,r)$。$S(n-1,r-1)$不用乘系数,由于在向下推的时候已经包含了固定各个数的状况。据说也是第二类斯特林数。
13. 06年提升:三角形路径数目。一种解释是:路径惟一,从倒数第二层到终点有且仅有n-1种方法,再向上同理,为n-2种。根据乘法原理,n层三角形的方案数目是$(n-1)!$
14. x个a,y个b,z个c排字符串,包含子串'abc'的种数:捆一个abc,算全排列;捆两个,减去;捆三个,加上。e.g. 3个a,5个b,3个c,种数:$\frac{9!}{2!4!2!}-\frac{7!}{2!3!}+\frac{5!}{2!3!}$
15. 圆桌问题之相邻不重复。有n我的坐在一张圆桌上吃饭,要求天天每个人两边相邻的人不一样,问这样最多能够安排多少天?如3我的时只能1天,4我的时也只能是1天,而5我的能够安排2天。那么抽象为n个节点的无向图,每个节点都去和其余全部节点连边,总边数为$\frac{n(n-1)}{2}$,每一天事后都删去n条边,因此获得的结论就是$\lfloor \frac{n-1}{2} \rfloor$
16. 强制类型转换:(类型)(表达式)。事实上,除非表达式是单个变量,不然都要加括号。e.g. (int)x+y 的含义是将x转换为int之后和y相加,与(int)(x+y)的含义是不一样的。
17. 由数字1,1,2,4,8,8所组成的不一样的四位数的个数是102。算法:不能直接$C^4_6\;A^4_4$而后干吗干吗。。正解应当分类讨论
一:①一、一、二、4;②一、一、二、8;③一、一、四、8;④一、二、八、8;⑤一、四、八、8;⑥二、四、八、8这6组,他们的方案数都是$\frac{A_4^4}{2!}$,总的就是$6\times 12$,72种;
二:仅有一、二、四、8组成固然就是4个全排列;
三:一、一、八、8去排;
答案就是$72+24+6=102$。
18. 14提升选择:同时查找2n 个数中的最大值和最小值,最少比较次数为( )。正解:两两比较,大的和max去比,小的和min去比。第一组比较一次获得max和min;后面$2\times (n-1)$个数,两两比较须要$n-1$次,每个还会去和max/min比较一次,也就是$2\times (n-1)$次,综上,即为$3\times (n-1)+1$次。
19. 应用快速排序的分治思想,能够实现一个求第k大数的程序。假定不考虑极端的最坏状况,理论上能够实现的最低的算法时间复杂度是。。。O(n)!
呃,事实上,在作的时候,分治的另外一个区间是能够抛掉的。也就是说,虽然进行了二分,$T(n)=n+\frac{n}{2}+\frac{n}{4}+...$ 所以渐进复杂度为O(n)。
20. 世纪难题:约瑟夫好人坏人version,还没有知道数学解法,没法手算qwq;
21. 对于一个无向图,他不是联通图意味着一定存在一个节点的度为0;对于任何一个图,不存在奇环是其为二分图的充要条件;
22. 任何一个算法的空间复杂度都不大于其时间复杂度;
23. while(1)rp++;