5.1


Introduction

NOIP(National Olympiad in Informatics in Provinces):全国青少年信息学奥林匹克联赛

NOI(National Olympiad in Informatics):全国青少年信息学奥林匹克竞赛

CPU(Central Processing Unit):中央处理器

CPU - memory - O/I device

1 byte = 8 bit


前置知识

int a;
int *b = &a;

View Code

*:pointer 指针

&:address 地址

*(a + 1) = x 等价于 a[1] = x

int:%d

long long:%lld / %I64d

usigned int:%u

usigned long long:%llu

数据结构(struct)

对象(class)

%*d 读完扔掉

#include<cstdio>
scanf printf
#include<cstring>
memset strlen strcmp
#include<ctime>
time(0)
#include<cstdlib>
rand() srand()
#include<iostream>
cin cout string
cin 关闭同步 std::ios::sync_with_stdio(false)//速度提高至scanf左右
#include<algorithm>
sort lower_bound max min
#include<cmath>
sqrt sin log pow

头文件(header files)

int read(){int x = 0,f = 1;char ch = getchars();while(ch < '0' || ch > '9'){if(ch == '-')f = -1;ch = getchars();}    while(ch >= '0' && ch <='9'){x = x * 10 + ch - '0';ch = getchars();    }return x * f;
}
//
fread

quick read


复杂度(Complexity)

Big-O Notation:大O记号

定义:T(n) = O(f(n)) iff(当且仅当)存在 c,N > 0 s.t.(subject to)任意 n > N T(n) <= c * f(n)

主定理(master theorem):用渐近符号表示许多由分治法得到的递推关系式

P(polynomial)问题:能在多项式时间内解决的问题

NP问题:(Nondeterministic Polynomial time Problem)不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时间内验证的问题

NPC问题:(NP Complete)NP完全问题,所有NP问题在多项式时间内都能规约(Reducibility)到它的NP问题,即解决了此NPC问题,所有NP问题也都能得到解决

NP hard问题:NP难问题,所有NP问题在多项式时间内都能规约到它的问题,但不一定是NP问题


some websites

cplusplus.com

duck.ac


排序(sequence)

有序:{a1,a2,...,an} iff 任意i属于1...n - 1 ai <= ai + 1

稳定性:{1,1,2,1}排序——>{1,1,1,2} 重复的1在序列中的相对位置不变 则该排序稳定

不稳定到稳定:加pair<int,int>排序

逆序对(inversion):i > j,ai < aj

选择排序(selection sort)

for(int i = 0;i<n - 1;i++)for(int j = i + 1;j < n;j++)if(a[j] < a[i])swap(a[j],a[i]);

selection sort

插入排序(insertion sort)

for(i = 1;i < n;i++)for(j = 0;j < i;j++)if(a[j] > a[i])swap(a[i],a[j]);

insertion sort

冒泡排序(bubble sort)

for(int i = 0;i < n - 1;i++)for(int j = 0;j < n - 1 - i;j++)if(a[j] > a[j + 1])swap(a[j],a[j + 1]);

bubble sort

归并排序(merge sort)

#include<cstdio>
#define sev en
using namespace std;
#define N 500010int a[N],n,f[N];
long long ans;void merge(int l,int r) {if(l == r)return ;int mid = (l + r) >> 1;merge(l,mid);merge(mid + 1,r);int i = l,k = l,j = mid + 1;while(i <= mid && j <= r) {if(a[i] <= a[j]) {f[k] = a[i];i++;k++;} else {f[k] = a[j];j++;k++;ans += mid - i + 1;}}while(i <= mid) {f[k] = a[i];i++;k++;}while(j <= r) {f[k] = a[j];k++;j++;}for(int w = l; w <= r; w++)a[w] = f[w];
}int main() {scanf("%d",&n);for(int i = 1; i <= n; i++)scanf("%d",&a[i]);merge(1,n);printf("%lld",ans);return 0;
}

merge sort --> inversion

桶排序(bucket sort)

for(i = 1;i <= n;i++){scanf("%d",&x); a[x]++;
}
for(i = 0;i <= n;i++)   for(j = 1;j <= a[i];j++) printf("%d ",i);

bucket sort

基数排序(radix sort)

快速排序(quick sort)

void quicksort(int p,int q){int i = p;int j = q;int temp = a[p];while(i < j){while(a[j] >= temp && j > i )j--;if(j > i){a[i] = a[j];i++;while(a[i] <= temp && i < j )i++;if(i < j){a[j] = a[i];j--;}}        }if(p < i - 1)quicksort(p,i - 1);if(j + 1 < q )quicksort(j + 1,q);
}

quick sort

sort(a + 1,a + n + 1);

sort


STL标准模版库(Standard Template Library)

向量(vector)

#include<vector>
push_back();
pop_back();
size();
empty();
clear();
erease();
insert();
operator[];

vector

链表(list)

#include<map>
map<string,string>a;
a[qaq] = 'qwq';

map

#include<set>
size();
begin();
end();
empty();
clear();

集合(set)

#include<queue>
push();
pop();
empty();
first();
////
priority_queue<int>q;//大根堆
priority_queue<int,vector<int>,greater<int> >q;//小根堆

队列(queue) FIFO

#include<stack>
push();
pop();

栈(stack) LIFO



5.2

图论(graph theory)

图(graph):<V,E>

简单图(simple graph):无重边,无自环

度(degree)

有向图——max edge n * (n - 1)

无向图——max edge n * (n - 1) / 2

简单路径(simple path)

回路(cycle):环

连通图(connected graph):任意两点可互相到达

强连通图(strong connected graph):有向图

弱连通图(weakly connected graph):有向边变为无向连通

子图(subgraph)

最短路可能不存在(有负环 | 不可达) | 不唯一

有向无环图(DAG):directed acyclic graph


存图

邻接矩阵(Adjacency Matrix)

for(int i = 1;i <= m;i++)scanf("%d%d%d",&x,&y,&w);map[x][y] = w;map[y][x] = w;
}

adjacency matrix

链式前向星(邻接表)

struct EDGE{int nxt,to,w;
}e[N << 1];
int head[N],cnt;void add(int x,int y,int z){e[++cnt].to = y;e[cnt].nxt = head[x];e[cnt].w = z;head[x] = cnt;
}

链式前向星


图的遍历

宽度优先搜索(bfs):breadth first search

深度优先搜索(dfs):depth first search

前序遍历(DLR)

中序遍历(LDR)

后序遍历(LRD)


树(tree)

有n个点,n - 1条边的连通图

无向无环连通图

任意两点间只有一条简单路径的无向图

森林

无根树

有根树

二叉树(binary tree):每个结点最多有两个子树的树结构

满二叉树(full binary tree):除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树

完全二叉树(complete binary tree):若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边


一些其它的东西

二分图(bipartite graph):设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图

拓扑排序(topological sort)


字符串(string)

brute force

hash

trie tree


to be continued...

转载于:https://www.cnblogs.com/sevenyuanluo/p/10800847.html

五一快乐假期每天都在上课qaq相关推荐

  1. 大厂offer拿到手软,学习flag立起来!五一快乐特别篇!

    五一假期,就在眼前.提前祝各位,五一快乐. 是不是有些小伙伴,已经踏上或归家或旅游的小火车了? 今天,跟大家随便聊聊,我的一些感受和今年的一些计划. 创作那些事 创作,写文章也好,做视频也罢,一个比较 ...

  2. 五一,期待一场这样的旅行,提前预祝Csdner五一快乐

    五一,期待一场这样的旅行,提前预祝Csdner五一快乐 五一,你是否期待一次这样的旅行: 住在一间安静优美的小屋,在鸟鸣中起床,推窗有花香铺面而来.早餐过后,在阳光温暖的抚摸里,骑车踏青或光脚奔跑. ...

  3. c语言五一快乐源码,快乐“五一”

    我是劳动者 茶陵县解放学校395班 彭启萌 证号:200817521930 指导老师:李淑琴 欢乐劳动 炎陵县城南小学1701班 林睿希 证号:201018710331 指导老师:黄娟 伟大的劳动者 ...

  4. 滴滴发布“五一”劳动节假期安全出行保障公告:应急处置人员24小时轮岗值班...

    4月30日消息,滴滴今日发布<"五一"劳动节假期安全出行保障公告>,公告称已成立"五一"集团安全应急保障工作组,程维任总指挥,柳青任副总指挥,要求各 ...

  5. 用Python将QQ好友头像生成祝福语!大家五一快乐!

    本文我们来看一下如何使用 Python 将 QQ 好友头像拼成"五一快乐"四个字.我们可以将整个实现过程分为两步:爬取 QQ 好友头像.利用好友头像生成文字. 爬取头像 爬取 QQ ...

  6. 故宫4天门票已售罄 五一假期大家都去哪儿“看一看”了?

    5月1日,今年劳动节假期持续4天,据文化和旅游部预计"五一"期间国内游客将达到1.49亿人次.全国各地知名旅游景点想必是"人山人海".就在刚刚,北京故宫传来消息 ...

  7. 你以为有钱人不快乐?他们都是在骗你的

    你以为有钱人真的很快乐吗?是的,他们的快乐你根本想象不到. 壹 姑妈的儿子,也就是我表弟, 1993年出生,是个佛系青年. 平时挂在嘴边的口头禅就是: "都行,随便,没问题,也可以--&qu ...

  8. 中国剩余定理求解“六位教授必须首次都停止上课”问题

    问题: 六位教授在周一至周六开始上课,这六位教授分别每2,3,4,1,6,5天授课一次, 该学校禁止周天上课,因此周天必须停课,问什么时候所有六位教授首次发现他们必须同时停课?(中国剩余定理知识求解) ...

  9. #780. 徐老师的快乐假期

    动态规划.dp[i][j] 表示长度 i 以 j 结尾的方案数.那么:dp[i][j] += dp[i − 1][k] 其中,保证 10 ∗ n + j 为质数. 初始条件为 dp[1][1 ∼ 9] ...

  10. 热图绘制一个快乐五一

    五一假期了,来一点趣味性的.热图就是把数字转成颜色,我们去网上拿一张五一的图片,转成矩阵,存储到`wuyi.txt`文件.然后就可以用我们的热图工具定制自己的"五一快乐了". ht ...

最新文章

  1. 负载均衡集群ipvsadm命令及基本用法
  2. windows 内核情景分析
  3. 批量恢复文件的Py脚本
  4. ViewData 和 ViewBag 到底有什么区别?
  5. 未来教育计算机二级Excel解析,Excel操作小技巧,助你学好计算机二级office!
  6. hashmap有关问题与计算
  7. mysql记录是乱码_mysql查询数据库导致中文乱码
  8. memset()函数
  9. 数字信号处理_实验一_信号、系统及系统响应
  10. 几种表面缺陷检测数据集
  11. 前端开发必备,【项目实战】
  12. 形式化验证学习——什么是形式化?Formal
  13. 目标跟踪 SiamFC++ (Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines)
  14. win10下虚拟机VMware安装PhoenixOS(凤凰OS)
  15. 全加器,半加器公式推演
  16. 要用计算机处理频谱,妙用Adobe Audition 系列教程(二):频谱分析仪 | 小众声学...
  17. mset redis_redis mset key命令简介
  18. hp39gs运行C语言,HP39GS 硬改添加Flash(w25q32)
  19. C语言-两个单链表的合并
  20. 基于PHP+MySQL的宠物领养救助社交网站

热门文章

  1. Icode编程>>>图形化编程>>>1级训练场>>>重复执行练习【1】
  2. kali安装超详细教程
  3. com词根词缀_用词根词缀背英语单词靠谱吗丨效果方法
  4. 菲利普·安德森:凝聚态物理的艺术家
  5. 企业实战——Ansible自动化运维基础知识
  6. 《产品经理面试攻略》PART 3:准备好作品
  7. Js 获取浏览器高度
  8. 3.关于运动控制芯片
  9. PCB画板与硬件调试+AD快捷键小技巧
  10. 运算放大器(运放)选型、参数分析以及应用OPA2350