初赛复习

初赛一定要过啊,否则付出的那么多都白搭了!

while(1)
++csp.rp,++csp.luck,++csp.scores;

历史

  • 2020年开始,除NOIP以外的NOI系列其他赛事(包括冬令营、CTSC、APIO、NOI)将不再支持Pascal语言和C语言。从2022年开始,NOIP竞赛也将不再支持Pascal语言。

  • 图灵奖 (A.M. Turing Award) 由ACM于1966年设立 ,“计算机界的诺贝尔奖”

    奖励那些对计算机事业做出重要贡献的个人

    约翰•冯•诺依曼奖 由IEEE(电气和电子工程师协会)于1990年成立

    表扬在计算机科学和技术上具有杰出成就的科学家

    高德纳奖 (Donald E. Knuth Prize) 始于1996 1.5年颁发一次

    授予为计算机科学基础做出杰出贡献的人

    王选奖 CCF

    授予在计算机科学技术前沿取得重要突破,研究成果通过转化和产业化,创造显著经济或社会效益的科技工作者

  • 第一台计算机 ENIACENIAC是继ABC(阿塔纳索夫-贝瑞计算机)之后的第二台电子计算机和第一台通用计算机)

    第一台具有存储程序功能的计算机 EDVAC(离散变量自动电子计算机)

  • NOI 1984年
    NOIP 1995年
    冬令营 1995年
    APIO 2007年

计算机原理结构

  • 首位0、1分别表示正、负,正数的反码是它本身,负数的反码是它原码除符号位外按位取反;正数的补码是它本身,负数的补码是它的反码+1

  • CPU(中央处理器)=运算器+控制器+寄存器(速度最快)

  • BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

  • ROM只读存储器;RAM随机存储器(约为内存)

  • cache是高速缓冲存储器,快于RAM (速度:寄存器>cache>RAM>ROM)

  • 随机存储器RAM的“随机”指“随时访问”

  • 断电后可以保存数据:硬盘,ROM;断电后不可以保存数据:显存(显卡内存),RAM,CPU

  • 电子管-晶体管-中小规模集成-大超大规模集成

  • LAN 局域网;MAN 城域网;WAN 广域网

  • IMAP、POP3、SMTP 电子邮件

  • TCP/IP 链路层-网络层-传输层-应用层

  • GSM全球移动通信系统;GPRS通用分组无线服务技术;

  • OSI七层模型1-7(低到高)

    1.物理层 2.数据链路层:ppp点对点协议 CSMA/CD 3.网络层:IP协议,地址解析协议ARP,网际控制报文协议ICMP,路由选择协议,RIP 4.运输层:用户数据报协议UDP,传输控制协议TCP 5.会话层 6表示层 7.应用层:文件传输协议FTP,HTTP,SMTP

  • 1TB=1024GB,1GB=1024MB,1MB=1024KB,1KB=1024B,**1B(字节)=8bit(位), 1 个像素=2B,\(1GB=2^{10+10+10}=2^{30}\)

算法

  • O(1),O(N),O(NlogN),O(n2)等n不在指数为的复杂度为多项式级复杂度,O(N!),O(2n)等复杂度是非多项式级的,可以找到一个多项式级复杂度算法的问题是P问题;一个解可以用多项式级复杂度检验的问题是NP问题

  • 逻辑运算律(同集合运算律):\((A\and C)\or (B\and C)=C\and (A\and B)\)

  • 位运算优先级:& ^ |

  • 指针最优,单目运算优于双目运算(如正负号),先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.逻辑运算最后结合。

  • 一个问题满足以下两条,它就是NPC问题:1、它是NP问题,2、所有的NP问题都可以约化到它

  • 主定理复习:若存在\(k\ge0\),有\(f(n)=\Theta(n^{log_ba}log_2^kn)\),则\(T(n)=\Theta(n^{log_ba}log_2^{k+1}n)\)

  • 如果操作符在操作数前面,则称为前缀表达式,从后往前用栈阅读

  • 十转二:整数部分:不断除以2,直到商为0,倒取各阶段余数;

    小数部分:不断乘以2,直到积为1,正取各阶段整数

    如10.25转化为二进制

    10÷2=5……0

    5÷2=2……1

    2÷2=1……0

    1÷2=0……1

    倒着取余数,1010即为整数部分

    0.25*2=0.5……0

    0.5*2=1……1

    正着取整数,0.01即为小数部分

    将两部分合起来,得到10.25=(1010.01)2

    十转八:计算小数部分时,小数部分每次乘八提取整数,正取各整数

  • char: 1字节(8位)

    int: 4字节 (32位,取值范围 \(-2^31 ~ 2^31-1\))

    unsigned int : 4字节 (32位,取值范围$ 0 ~ 2^{32}-1$)

    long: 4字节 (32位,取值范围 \(-2^{31} ~ 2^{31}-1\))

    unsigned long : 4字节 (32位,取值范围 \(0 ~ 2^{32}-1\))

    long long : 8字节(64位,取值范围 \(-2^{63} ~ 2^{63}-1\))

  • 点双连通:某个没有割点的无向图

    边双连通:某个没有割边(桥)的无向图

    双连通分量:图的极大双连通子图(分为点双连通分量和边双联通分量)

  • 哈夫曼树的叶子节点个数比非叶子节点个数多一

  • 先序遍历:根-左-右

  • 欧拉图:可以一笔画出来的

    一个图是欧拉图的充要条件(无向图):度为奇数点的点的个数<=2

    有向连通图 D 是欧拉图,当且仅当该图为连通图且 D 中每个结点的入度=出度

    欧拉环游:通过图中每边恰好一次的闭路径

    欧拉闭迹:通过图中每边恰好一次的路径

  • 排序方法 时间复杂度 空间复杂度 稳定性
    快速排序 一般\(O(nlogn)\),最坏情况下\(O(n^2)\) \(O(logn)\) 不稳定
    shell 排序(希尔排序) \(O(n^2)\) \(O(1)\) 不稳定
    堆排序 \(O(nlogn)\) \(O(1)\)(直接在原序列上建立堆) 不稳定
    选择排序 \(O(n2)\) \(O(n)\) 不稳定
    归并排序 \(O(nlogn)\) \(O(n)\) 稳定
    基数排序 \(O(n)\) \(O(n)\) 稳定
    插入排序 \(O(n^2)\) \(O(n)\) 稳定
    冒泡排序 \(O(n^2)\) \(O(1)\) 稳定

数学

排列组合

\(P_n^k\)从\(n\)中选\(k\)个有多少种排列,\(P_n^k=n\times(n-1)\times\dots\times(n-k+1)=\frac{n!}{(n-k)!}\)

\(C_n^k\)从\(n\)中选\(k\)个有多少种组合,\(C_n^k=\frac{P_n^k}{k!}=\frac{n!}{(n-k)!k!}\)

捆绑插空分组法

例1 由数字1、2、3、4、5、6、7组成无重复数字的七位数。

(1)求三个偶数必相邻的七位数的个数;(2)求三个偶数互不相邻的七位数的个数。

解 (1):因为三个偶数2、4、6必须相邻,所以要得到一个符合条件的七位数可以分为如下三步:第一步将1、3、5、7四个数字排好有P(4,4)种不同的排法;第二步将2、4、6三个数字“捆绑”在一起有P(3,3) 种不同的“捆绑”方法; 第三步将第二步“捆绑”的这个整体“插入”到第一步所排的四个不同数字的五个“间隙”(包括两端的两个位置)中的其中一个位置上,有P(1,5)种不同的“插入”方法。根据乘法原理共有\(P(4,4)\times P(3,3)\times P(5,1)\)=720种不同的排法。所以共有720个符合条件的七位数。

解(2):因为三个偶数2、4、6 互不相邻,所以要得到符合条件的七位数可以分为如下两步:第一步将1、3、5、7四个数字排好,有P(4,4) 种不同的排法;第二步将2、4、6分别“插入”到第一步排的四个数字的五个“间隙”(包括两端的两个位置)中的三个位置上,有P(3,5) 种“插入”方法。根据乘法原理共有\(P(4,4)\times P(3,5)=1440\)种不同的排法。所以共有1440个符合条件的七位数。

例2 将A、B、C、D、E、F分成三组,共有多少种不同的分法?

解:要将A、B、C、D、E、F分成三组,可以分为三类办法:(1-1-4)分法、(1-2-3)分法、(2-2-2)分法。下面分别计算每一类的方法数:

第一类(1-1-4)分法,这是一类整体不等分局部等分的问题,可以采用两种解法。解法一:从六个元素中取出四个不同的元素构成一个组,余下的两个元素各作为一个组,有C(4,6)种不同的分法。解法二:从六个元素中先取出一个元素作为一个组有C(1,6) 种选法,再从余下的五个元素中取出一个元素作为一个组有C(1,5) 种选法,最后余下的四个元素自然作为一个组,由于第一步和第二步各选取出一个元素分别作为一个组有先后之分,产生了重复计算,应除以P(2,2)。所以共有\(C(1,6)*C(1,5)/P(2,2) =15\)种不同的分组方法。

第二类(1-2-3)分法,这是一类整体和局部均不等分的问题,首先从六个不同的元素中选取出一个元素作为一个组有C(1,6) 种不同的选法,再从余下的五个不同元素中选取出两个不同的元素作为一个组有C(2,5) 种不同的选法,余下的最后三个元素自然作为一个组,根据乘法原理共有\(C(1,6)*C(2,5)=60\)种不同的分组方法。

第三类(2-2-2)分法,这是一类整体“等分”的问题,首先从六个不同元素中选取出两个不同元素作为一个组有C(2,6) 种不同的取法,再从余下的四个元素中取出两个不同的元素作为一个组有C(2,4)种不同的取法,最后余下的两个元素自然作为一个组。由于三组等分存在先后选取的不同的顺序,所以应除以P(3,3) ,因此共有\(C(2,6)*C(2,4)/P(3,3) =15\)种不同的分组方法。

根据加法原理,将A、B、C、D、E、F六个元素分成三组共有:15+60+15=90种不同的方法。

小结:

  • m个不同的元素必须相邻,有P(m,m) 种“捆绑”方法。
  • m个不同元素互不相邻,分别“插入”到n个“间隙”中的m个位置有 P(m,n)种不同的“插入”方法。
  • m个相同的元素互不相邻,分别“插入”到n个“间隙”中的m个位置,有C(m,n)种不同的“插入”方法
  • 若干个不同的元素“等分”为 m个组,要将选取出每一个组的组合数的乘积除以P(m,m)。

Catalan数

(\(1,1,2,5,14,42,132\))

通项公式:\(H(n)=\frac{C_n^{2n}}{n+1}\)

递推公式:\(H(n)=H(n-1)\times \frac{4n-2}{(n+1)}\)

意义:

  • \(n\) 个结点可够造多少个不同的二叉树
  • \(n\)个不同的数依次进栈,求不同的出栈结果的种数
  • 对角线不相交的情况下,将一个凸多边形区域分成三角形区域的方法数
  • 在圆上选择\(2n\)个点,将这些点成对连接起来使得所得到的\(n\)条线段不相交的方法数

容斥定理

被覆盖奇数次的加,偶数次的减

2017年10月1日是星期日,1949年10月1日是( )。

其实我们只关心1949-10-1到2017-10-1在过了多少个一周后又零几天

一年有52周=52*7=364天,所以每过一个平年我们过了52周零1天,每过一个闰年我们过了52周零2天

而中间有(2017-1949)/4=17 个闰年

所以我们除了n个整周外零了(2017-1949)+17=85 天=12周…….1天

多过了1天使周日,所以1949-10-1是周六

将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。

因为允许为空,所以我们每组都填上1,然后此时我们可以看作是你面前有7+4=11个球,10个空隙,你需要在十个空隙插入三个板子,把十一个球分成四份,要求每个空隙只能有一个板子,且四组都得有一个球,所以就是 \(C(10, 3) = 120\)种

由四个不同的点构成的简单无向连通图的个数是( )

四个点构成连通图最少选3条边(树),最多选\(\frac{4\times3}{2}\)条边(完全图),一共\(\frac{4\times3}{2}\)条边中选择,但注意,不是所有的任选3条边都满足条件,有一种情况是三个点形成一个三角形而孤立一个点,这种情况共有4种,所以\(ans=C(6, 6)+C(6,5)+C(6,4)+C(6,3)-4=38\)

某计算机的 CPU 和内存之间的地址总线宽度是 32 位(bit),这台计算机最多可以使用( )GB的内存。

最多使用\(2^{32}\)字节(B)

有 7 个一模一样的苹果,放到 3 个一样的盘子中,一共有( )种放法

枚举即可,注意用计排序,算组合即可

有数字1,1,2,4,8,8所组成的不同的四位数的个数

显然 1 开头和 8 开头的方案数相等,2 开头和 4 开头的方案数相同,然后我们可以通过手玩爆枚出 1 开头与 2 开头的方案数,分别为 33 与 18,加起来乘二等于 102

哪个逻辑表达式的值与变量 B 的真假无关?

A. (

CSP初赛复习的更多相关文章

  1. CSP 初赛复习 密码

    CSP 初赛复习 密码是\(xj\)机房学生端密码

  2. PJ初赛复习日记

    PA姑娘的PJ初赛复习日记 by Pleiades_Antares PJ初赛考试马上就要开始了(今年应该是10.13吧?),作为蒟蒻的我们怎么能不复习呢? 众所周知,复习方法有很多很多种-- 比如 ( ...

  3. CSP考前复习

    前言 因为loceaner太菜了,他什么东西都不会 所以他打算学一个东西就记录一下 不过因为他很菜,所以他不会写原理-- 而且,他希望在2019CSP之前不会断更 就酱紫,就是写给他自己的--因为他太 ...

  4. noip初赛复习总纲

    初赛复习总纲 目录 初赛复习总纲 计算机发展史 计算机的分类 计算机的应用 操作系统盘点 计算机的基本结构 中央处理器(**CPU**--**Central Processing Unit**) 存储 ...

  5. 2019.10.15 CSP初赛知识点整理

    初赛需要的知识点整理如下: (1)计算机的硬件组成与基本常识 (2)单位/进制的转换 (3)进制/逻辑运算相关 (4)概率与期望 (5)排序的各种性质 (6)简单数据结构的使用(栈.队列.链表等) ( ...

  6. CSP初赛考点汇总

    qwq 为SCP初赛选手(我)收集的各种定理qwq 更新: 1.为了初赛都能用,不限于定理了 2.主旨为在短时间内复习各算法,备初赛 3.请确定你学习(学懂了)了 \(\texttt{oi}\) 的基 ...

  7. NOIP2018TG 初赛复习

    Date: 20180911 TCP/IP OSI7面向对象的程序设计语言 1.不是自顶向下2.simula 67语言 第一个3.继承性.封装性.多态性NOIP支持的语言环境:对于c / c++ :D ...

  8. [CSP初赛] 组合数学的三个技巧以及从另一方面思考组合类问题

    也不知道老师讲不讲 话说好久没有水博客了,看了一点\(python\)然后就去搞文化课了 正好网课讲到组合数学,然后觉得还蛮难的(其实是我变菜了),就想到了以前的\(csp\)的组合数学基础 果然被我 ...

  9. noip 初赛复习重点知识点

    一.进制转化 将k进制数转化为十进制数: 设k进制数为(abcd)k,则对应十进制数为 (小数同理,乘k的负幂次) 将十进制数转成k进制数: 设十进制数为x: t1=x/k,t2=x mod k t1 ...

随机推荐

  1. 怎样修改vim的缩进

    默认vim的tab缩进是八个空格, 太长了, 需要改短一点. 第一步: 找到vimrc文件所在位置 # find / -name vimrc 第二步: 找到以后用vim打开vimrc文件并增加下面两行 ...

  2. 🕯国家公祭日-默哀javascript脚本

    国行公祭,祀我国殇 兽行暴虐,共御外侮 昭昭前事,惕惕后人 永失弗谖,祈愿和平 var national_memorial_days=['12-13']; var dateObj=new Date() ...

  3. 无重复字符串的最长子串 python

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  4. Python初识对象

    一 楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, ...

  5. kvm第三章--虚拟化存储管理

  6. textarea与标签组合,点击标签填入标签内容,再次点击删除内容(vue)

    需求:将textarea与span标签组合,点击标签自动填入标签文本内容,再次点击删除标签文本对应内容 原理:点击标签时,将标签内容作为参数,将内容拼接在textarea的value后面,再次点击标签 ...

  7. 记一次渗透某XX站

    0X00 前言 团队A师傅发来个站,问我有没有得搞 正好在搞其他的站,卡住了,开干换个思路. 0x01 信息收集 开burp抓了下包,目标设置了url重写,开了报错,我们随意输入一个控制器就直接报错. ...

  8. Python中with用法详解

    一 .with语句的原理 上下文管理协议(Context Management Protocol):包含方法 __enter__()和__exit__(),支持该协议的对象要实现这两个方法. 上下文管 ...

  9. 【SpringMVC】请求乱码处理

    一.post请求乱码 二.get请求乱码 一.post请求乱码 在web.xml中加入 <filter> <filter-name>CharacterEncodingFilte ...

  10. SQLSEVER 不同服务器下两个结构相似的表实现数据同步(触发器)

    1.建立链接服务器 在ServerA 中创建指向ServerB的链接服务器,并做好账号映射.addlinkedserver存储过程创建一个链接服务器,参数详情参见官方文档. 第1个参数LNK_Serv ...