[笔记] 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使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数 ...
随机推荐
- jdbc 05: 查询结果集
jdbc连接mysql,查询结果集 package com.examples.jdbc.o5_结果集查询; import java.sql.*; import java.util.ResourceBu ...
- 多表查询_练习1&练习2&练习3
准备表: -- 部门表 CREATE TABLE dept ( id INT PRIMARY KEY PRIMARY KEY, -- 部门id dname VARCHAR(50), -- 部门名称 l ...
- 常用的函数式接口_Function接口练习_自定义函数模型拼接
package com.yang.Test.FunctionStudy; import java.util.function.Function; /** * 练习:自定义函数模型拼接 * 题目: * ...
- Mpvue1.0+Python3.7+Django2.0.4实现微信小程序的支付功能
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_112 其实微信支付有很多种形式,刷脸,扫码,APP支付,小程序支付等,这边只说明小程序支付的实现,不过原理上都大同小异. 首先,需 ...
- Python3的原生协程(Async/Await)和Tornado异步非阻塞
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_113 我们知道在程序在执行 IO 密集型任务的时候,程序会因为等待 IO 而阻塞,而协程作为一种用户态的轻量级线程,可以帮我们解决 ...
- Linux、Ubuntu常用命令
# 文件解压缩 # zip压缩目录(附带目录权限) zip -q -r html.zip /home/html 压缩目录 tar -zcvf pack.tar.gz pack/ #打包压缩为一个.gz ...
- TS入门基础
1,使用node.js 2,配置typescript node i -g typescript 3,创建ts文件 使用tsc + <文件名>在命令行中跑可以跑出一个一样得js文件默认生成的 ...
- java基础Synchronized关键字之对象锁
java中Synchronized关键字之对象锁 当有多个线程对一个共享数据进行操作时,需要注意多线程的安全问题. 多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同 ...
- while 循环、do- while 循环 和 for 循环之间的那点事
C语言自学之三种循环比较 使用循环计算1-2+3-4+5-6+--100的值? 在编辑器中给出了三种循环体结构的部分代码,请选择合适的循环结构补全代码实现此功能. 运行结果为: sum=- ...
- Luogu3870 [TJOI2009]开关 (分块)
线段树做法很简单,但分块好啊 #include <iostream> #include <cstdio> #include <cstring> #include & ...