[笔记] 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使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数 ...
随机推荐
- 【黄啊码】MySQL入门—3、我用select *,老板直接赶我坐火车回家去,买的还是站票
大家好!我是黄啊码,学会了DDL语句了吗?那我们今天就来学习一下基本的查询语法,我见过很多外包机构的程序员都是万物皆可select *,然后项目跑了一段时间就基本跑不动了,问就回答:服务器配置不够,加 ...
- 记一次Linux server偶发CPU飙升问题的跟进与解决
背景 进入6月后,随着一个主要功能版本api的上线,服务端的QPS翻了一倍,平时服务器的CPU使用稳定在30%上下,高峰期则在60%上下,但是偶尔会有单台机器出现持续数分钟突然飙到90%以上,导致大量 ...
- Python logging日志管理
import logging logger = logging.getLogger("simple_example") logger.setLevel(logging.DEBUG) ...
- WindTerm:新一代开源免费的终端工具,GitHub星标6.6k+,太酷了!
继 Tabby.Warp 后,今天再来给大家推荐一款终端神器--WindTerm,完全开源,在 GitHub 上已经收获 6.6k 的 star. https://github.com/kingToo ...
- 高效能团队的Java研发规范(进阶版)
目前大部分团队是使用的阿里巴巴Java开发规范,不过在日常开发中难免遇到覆盖不到的场景,本文在阿里巴巴Java开发规范基础上,补充一些常用的规范,用于提升代码质量及增强代码可读性. 编程规约 1.基础 ...
- MyBatis-Plus(二、常用注解)
1.@TableName @TableName 用法:映射数据库的表名,如果数据库表名与实体类名不一致,用@TableName来映射. package com.example.mybatisplus. ...
- java学习第一天.day01
Java的编译和运行机制 java文件编译成字节码文件后加载到java缓存中jvm Java的基本语法 1.Java语言严格区分大小写 2.一个Java源文件里可以定义多个Java类,但不能存在多个p ...
- Hive存储格式之ORC File详解,什么是ORC File
目录 概述 文件存储结构 Stripe Index Data Row Data Stripe Footer 两个补充名词 Row Group Stream File Footer 条纹信息 列统计 元 ...
- 【java】学习路线9-非静态内部类、外部类
//内部类只能在其外部类当中使用//局部内部类:定义在方法里面//如果内部类和外部类有重名,就近原则在内部类中优先访问内部类.//如果想访问宿主类的同名成员,使用OuterClass.this.xxx ...
- 美团组件化事件总线方案改进:ModularEventBus
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...