NOIP 初赛笔记
// zj蒟蒻瑟瑟发抖。。
// 停课了。要好好努力!——10月8日8:29于机房
1. 1946 年 美国 -> 第一台计算机
2. 真空电子管 -> 晶体管 -> 集成 -> 大规模集成
3. 字长:8位(8 bit)这种东西 balabala。。
4. 主频:about 运算速度 e.g. pii300 -> 主频300Hz
5. 工厂自动化(FA).
CAD -> design; CAI -> 辅助教学
CAM -> manufacture; EDI -> 电子数据交换(关于无现金交易这样子)
CAT -> test; OA -> office automation;
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$然后干嘛干嘛。。正解应当分类讨论
一:①1、1、2、4;②1、1、2、8;③1、1、4、8;④1、2、8、8;⑤1、4、8、8;⑥2、4、8、8这6组,他们的方案数都是$\frac{A_4^4}{2!}$,总的就是$6\times 12$,72种;
二:仅有1、2、4、8组成当然就是4个全排列;
三:1、1、8、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++;
NOIP 初赛笔记的更多相关文章
- NOIP初赛 之 逻辑运算
NOIP初赛 之 逻辑运算 逻辑运算先掌握各种运算,注意运算符的级别比较,做题是要细心.在NOIP中一般一题,分值为1.5分. 概念介绍: 非:not ¬ 与:and ∧ 或:o ...
- NOIP初赛知识点大全-普及+提高组
NOIP初赛知识点大全-普及+提高组 https://mp.weixin.qq.com/s/vSXLDxmbBoFfZPzD8lrt3w
- 史上最全NOIP初赛知识点
CSP-J/S 第一轮知识点选讲 \(NOIP\)(全国青少年信息学奥林匹克竞赛)于2019年取消.取而代之的是由\(CCF\)推出的非专业级软件能力认证,也就是现在的\(CSP-J/S\).作为一名 ...
- NOIp初赛题目整理
NOIp初赛题目整理 这个 blog 用来整理扶苏准备第一轮 csp 时所做的与 csp 没 有 关 系 的历年 noip-J/S 初赛题目,记录了一些我从不知道的细碎知识点,还有一些憨憨题目,不定期 ...
- NOIP初赛:完善程序做题技巧
最近写的文章好像还很多的.那么今天我们来讨论NOIP初赛的题型--完善程序.完善程序相对是比较难的题目了.全卷100分,完善程序占了大概26分,占比非常大.如果和英语考试试卷做比较,相当于首字母填空( ...
- NOIP初赛前一日记
2018年10月12日,早晨7:25于机房. 早晨的鄞中,晨风还有点清冷.看着电脑上翻遍的资料,心里实在是有一种说不出的感觉. 说出来也算是丢脸——作为浙江选手,我为了NOIP2018的初赛,停课了一 ...
- NOIP初赛 之 哈夫曼树
哈夫曼树 种根据我已刷的初赛题中基本每套的倒数第五或第六个不定项选择题就有一个关于哈夫曼树及其各种应用的题,占:0-1.5分:然而我针对这个类型的题也多次不会做,so,今晚好好研究下哈夫曼树: 概念: ...
- NOIP初赛知识点
http://www.doc88.com/p-9982181637642.html 连载中…… (一)八大排序算法 下面这张表摘自博客http://blog.csdn.net/whuslei/arti ...
- NOIP初赛 BLESS ALL!
祝初赛顺利!RP++! 下午再写一篇题解来加RP
随机推荐
- Java 中的几种线程池这么用才是对的
为什么要使用线程池 虽然大家应该都已经很清楚了,但还是说一下.其实归根结底最主要的一个原因就是为了提高性能. 线程池和数据库连接池是同样的道理,数据库连接池是为了减少连接建立和释放带来的性能开销.而线 ...
- 关于Re模块的一些基础知识(另附一段批量抓代理ip的代码)
1.常用匹配规则 . 表示任意字符[0-9] 用来匹配一个指定的字符类别[^5]表示除了5之外的其他字符,^不在字符串的开头,则表示它本身.* 对于前一个字符重复0到无穷次+ 对于前一个字符重复1到无 ...
- Sublime之快捷键(二)
1. 在使用Sublime的时候,经常用到选中文件中相同的一些字段,那怎么办呢? 快捷键: ctrl + d 可以快速的选择,你所选中的文字,每次按下该快捷键,就会自动的寻找相同的字段: Alt + ...
- 【IDEA】与Eclipse "Link with Editor"等价功能设置
Link With Editor是Eclipse内置功能中十分小巧,但却异常实用的一个功能.这个开关按钮 (Toggle Button) 出现在各式导航器视图 ( 例如 Resource Explor ...
- Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式
史诗级Java/JavaWeb学习资源免费分享 欢迎关注我的微信公众号:"Java面试通关手册"(坚持原创,分享各种Java学习资源,面试题,优质文章,以及企业级Java实战项目回 ...
- ThinkPHP的输出和模型使用
1.假设在v层需要输出一个变量怎么办呢?即如同在html当中输出php代码. 可以直接使用{$name}代替.花括号被称之为标识符.可以通过修改配置项('TMPL_L_DELIM'=>'< ...
- C++之C/C++内存对齐
一.什么是字节对齐,为什么要对齐 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这 ...
- centos-testlink安装使用手册
1.新建虚拟机设置 网卡必须选择ovirtmgmt模式 2.Centos6.3系统安装 说明: 1.CentOS 6.3系统镜像有两个,安装系统只用到第一个镜像即CentOS-6.3-i386-bin ...
- css3动画详解
一.Keyframes介绍: Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以“@keyframes”开头,后面紧跟着是动画名称加上一对花括号“{…}”,括号中就是一 ...
- 用js实现登录的简单验证
实现过程示意图 代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...