NOIP 初赛笔记

// 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++;

相关文章
相关标签/搜索