五一快乐假期每天都在上课qaq
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相关推荐
- 大厂offer拿到手软,学习flag立起来!五一快乐特别篇!
五一假期,就在眼前.提前祝各位,五一快乐. 是不是有些小伙伴,已经踏上或归家或旅游的小火车了? 今天,跟大家随便聊聊,我的一些感受和今年的一些计划. 创作那些事 创作,写文章也好,做视频也罢,一个比较 ...
- 五一,期待一场这样的旅行,提前预祝Csdner五一快乐
五一,期待一场这样的旅行,提前预祝Csdner五一快乐 五一,你是否期待一次这样的旅行: 住在一间安静优美的小屋,在鸟鸣中起床,推窗有花香铺面而来.早餐过后,在阳光温暖的抚摸里,骑车踏青或光脚奔跑. ...
- c语言五一快乐源码,快乐“五一”
我是劳动者 茶陵县解放学校395班 彭启萌 证号:200817521930 指导老师:李淑琴 欢乐劳动 炎陵县城南小学1701班 林睿希 证号:201018710331 指导老师:黄娟 伟大的劳动者 ...
- 滴滴发布“五一”劳动节假期安全出行保障公告:应急处置人员24小时轮岗值班...
4月30日消息,滴滴今日发布<"五一"劳动节假期安全出行保障公告>,公告称已成立"五一"集团安全应急保障工作组,程维任总指挥,柳青任副总指挥,要求各 ...
- 用Python将QQ好友头像生成祝福语!大家五一快乐!
本文我们来看一下如何使用 Python 将 QQ 好友头像拼成"五一快乐"四个字.我们可以将整个实现过程分为两步:爬取 QQ 好友头像.利用好友头像生成文字. 爬取头像 爬取 QQ ...
- 故宫4天门票已售罄 五一假期大家都去哪儿“看一看”了?
5月1日,今年劳动节假期持续4天,据文化和旅游部预计"五一"期间国内游客将达到1.49亿人次.全国各地知名旅游景点想必是"人山人海".就在刚刚,北京故宫传来消息 ...
- 你以为有钱人不快乐?他们都是在骗你的
你以为有钱人真的很快乐吗?是的,他们的快乐你根本想象不到. 壹 姑妈的儿子,也就是我表弟, 1993年出生,是个佛系青年. 平时挂在嘴边的口头禅就是: "都行,随便,没问题,也可以--&qu ...
- 中国剩余定理求解“六位教授必须首次都停止上课”问题
问题: 六位教授在周一至周六开始上课,这六位教授分别每2,3,4,1,6,5天授课一次, 该学校禁止周天上课,因此周天必须停课,问什么时候所有六位教授首次发现他们必须同时停课?(中国剩余定理知识求解) ...
- #780. 徐老师的快乐假期
动态规划.dp[i][j] 表示长度 i 以 j 结尾的方案数.那么:dp[i][j] += dp[i − 1][k] 其中,保证 10 ∗ n + j 为质数. 初始条件为 dp[1][1 ∼ 9] ...
- 热图绘制一个快乐五一
五一假期了,来一点趣味性的.热图就是把数字转成颜色,我们去网上拿一张五一的图片,转成矩阵,存储到`wuyi.txt`文件.然后就可以用我们的热图工具定制自己的"五一快乐了". ht ...
最新文章
- 负载均衡集群ipvsadm命令及基本用法
- windows 内核情景分析
- 批量恢复文件的Py脚本
- ViewData 和 ViewBag 到底有什么区别?
- 未来教育计算机二级Excel解析,Excel操作小技巧,助你学好计算机二级office!
- hashmap有关问题与计算
- mysql记录是乱码_mysql查询数据库导致中文乱码
- memset()函数
- 数字信号处理_实验一_信号、系统及系统响应
- 几种表面缺陷检测数据集
- 前端开发必备,【项目实战】
- 形式化验证学习——什么是形式化?Formal
- 目标跟踪 SiamFC++ (Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines)
- win10下虚拟机VMware安装PhoenixOS(凤凰OS)
- 全加器,半加器公式推演
- 要用计算机处理频谱,妙用Adobe Audition 系列教程(二):频谱分析仪 | 小众声学...
- mset redis_redis mset key命令简介
- hp39gs运行C语言,HP39GS 硬改添加Flash(w25q32)
- C语言-两个单链表的合并
- 基于PHP+MySQL的宠物领养救助社交网站