[笔记] CSP 初赛 部分知识整理
几年前整理的东西,要不就发到网上吧
不过现在这些东西里面也有很多考得比以前少了
卡特兰数
\(f(i)=\sum_\limits{i=0}^{n-1}{f(i)f(n-i-1)}\)
其中\(f(0)=1\)
\(f(n)=\)一个凸\(n\)边形用不相交的对角线划分成三角形的方法种数。
证明:对于一条边,在另外的\(n-2\)个顶点中选一个与这两个顶点连边。若选出的节点在这条边左边的节点顺时针方向\(i\)个,则方法数为 \(f(i-1)f(n-i)\) 。
具体例子: n个节点的二叉树的个数;1~n 元素的出栈顺序种数;凸多边形划分;平面直角坐标系中从\((0,0)\)移动到\((n,n)\),只能向右或向上移动一格,且永远不超出\(y=x\)的方法数。
前几项: \(1, 2, 5, 14, 42, 132, 429\cdots\)
二叉树遍历
前序遍历:根左右
中序遍历:左根右
后序遍历:左右根
哈夫曼编码
思想:贪心
\(n\)个字符每个出现\(a_i\)次,每次从优先队列中取出权值最小的两个元素,合并成一个元素,在二叉树上分别连一条边到那两个元素。最后向左的边赋0,向右的边赋1.
完美二叉树\(=\)满二叉树
完全二叉树\(=\)只有最后一行最右边不满的二叉树
中国计算机学会于1984年创办全国青少年计算机程序设计竞赛。
编程语言分类:
设计方法:
- 面向过程:C
- 面向对象:其他
- smalltalk:面向对象鼻祖
执行方式:
- 编译型:C, C++
- 解释型:Python, JavaScript\(\cdots\)
- 混合型:Java, C#\(\cdots\)
图灵奖:美国计算机协会,1966年设立;华人唯一姚期智,2000年获奖
长度为1的线段上随机取两个点期望长度:取中点,讨论,列方程;或建坐标系求体积
抽奖机中有红蓝两色的球,抽到蓝球就继续······设抽到第一个红球之前抽到蓝球的期望个数\(x\),则\(x=\frac{1}{2}\times0+\frac{1}{2}\times(1+x)\), \(x=1\)
TCP/IP四层模型:应用层,传输层,网络层,数据链路层
原码:符号位+绝对值
反码:正数是本身,负数是符号位不变,其他取反
补码:正数是本身,负数是符号位不变,其他取反+1
十进制小数转二进制:
0.6 * 2 = 1.2 ——————- 1
0.2 * 2 = 0.4 ——————- 0
0.4 * 2 = 0.8 ——————- 0
0.8 * 2 = 1.6 ——————- 1
0.6 * 2 = 1.2 ——————- 1\(\cdots\)
主定理
\(T(n)=aT(\frac{n}{b})+f(n)\)
\(f(n)\)是n的幂次,\(log_b(a)\)比这个幂次大,\(T(n)=n^{log_b(a)}\)
\(f(n)=n^{log_b(a)}\log^k(n)\), \(T(n)=n^{log_b(a)}\log^{k+1}(n)\)
\(\cdots\)
稳定的排序方法:冒泡插入 归并基数
P问题:可以在多项式时间内被解决的问题。
NP问题:可以在多项式时间内被验证的问题。或者说,可以在非确定性多项式时间内被解决的问题。
NP-Hard问题:如果可以证明某问题有一个子问题是NP-Hard问题,那么该问题是一个NP-Hard问题。
NP-Complete问题:如果一个问题已经被证明是一个NP-Hard问题,并且可以证明该问题是一个NP问题,那么该问题是NPC问题。
[笔记] CSP 初赛 部分知识整理的更多相关文章
- 2019CSP初赛基础知识整理
一.硬件 计算机发展: 年代 元件 第一代 1946~1958 电子管 第二代 1959~1964 晶体管 第三代 1965~1970 集成电路 第四代 1971~? 大规模集成电路 世界上第一台 ...
- 【笔记】BFC 模型知识整理
网上看了很多 BFC 的概念,发现都说得不是很完整和深入,刚好最近看了一些视频教程说到了 BFC 概念所以记录一下. BFC 的概念: BFC 全称:Block format context 块级格式 ...
- 【OGG】OGG基础知识整理
[OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...
- MySQL 索引知识整理(创建高性能的索引)
前言: 索引优化应该是对查询性能优化的最有效的手段了.索引能够轻易将查询性能提高几个数量级. // 固态硬盘驱动器有和机械硬盘启动器,有着完全不同的性能特性: 然而即使是固态硬盘,索引的原则依然成立, ...
- js事件(Event)知识整理
事件(Event)知识整理,本文由网上资料整理而来,需要的朋友可以参考下 鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemo ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(二)漏洞扫描
Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...
- wifi基础知识整理
转自 :http://blog.chinaunix.net/uid-9525959-id-3326047.html WIFI基本知识整理 这里对wifi的802.11协议中比较常见的知识做一个基本的总 ...
- 数据库知识整理<一>
关系型数据库知识整理: 一,关系型数据库管理系统简介: 1.1使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数 ...
随机推荐
- 使用OnPush和immutable.js来提升angular的性能
angular里面变化检测是非常频繁的发生的,如果你像下面这样写代码 <div> {{hello()}} </div> 则每次变化检测都会执行hello函数,如果hello函数 ...
- vue 数据更新了但视图没改变?试试 $set
场景 编辑表格中某行数据时,需要把它赋值给对话框表单 this.form,如果直接用 = 赋值,会导致:表单的输入框内容无法二次编辑. 使用 Vue-dev-tool 的 Components 功能测 ...
- redis学习之数据类型
<?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Co ...
- identity4 系列————开篇概念
前言 identity4 其实是openid connection, 那么我们还听说过openid 还有 oauth 2.0 那么下面就介绍一下Oath 2.0和openid 还有 openid co ...
- APT 安装 MySQL 提示错误:dpkg: error: dpkg frontend lock is locked by another process
在安装 MySQL 的时候提示错误: ubuntu@VM-0-6-ubuntu:/opt$ sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb dpkg: e ...
- 【c语言简单算法】1-阶乘
求n的阶乘 算法要求 从键盘输入一个数,求出这个数的阶乘 代码实现 #include main() { double result=1; size_t n; scanf("%d", ...
- 端口安全 | DHCP snooping
1.端口安全用于防止mac地址的欺骗.mac地址泛洪攻击.主要思想就是在交换机的端口下通过手工或者自动绑定mac地址,这就就只能是绑定的mac地址能够通过. 2.通过静态的端口绑定:将mac地址手工静 ...
- C++基础入门:C++初始
1. C++环境:Clion搭建 下载链接:clion官方网址 1.1 点击下载 1.2 下载对应版本 1.3 安装步骤: 1.3.1 下载完毕后,打开exe文件,进入安装界面,点击[Next > ...
- 在工作组的环境中配置Windows 2012 R2的远程桌面服务
在工作组的环境中配置Windows 2012 R2的远程桌面服务 How to configure Remote Desktop Service in Windows 2012 R2 workgrou ...
- Java SE 3、封装
封装 封装的好处 隐藏实现细节 可以对数据进行验证,保证安全合理 实现步骤 将属性进行私有化private 提供一个公共的(public)set方法,用于对属性判断并赋值 public void se ...