NOIP2018 普及组游记

我是一个初一的蒟蒻emmmm,所以各位大佬们请不要嘲讽我QAQ T1 标题统计 刚拿到题时忍不住爆粗,为什么这几年普及组第一题总是这么水呀23333 但是还是有人出现如下几点问题 1.文件名打错:如title打成tltle等,我觉得还是最好从原题上将题目名称复制下来,避免出错 2.题意理解错误:...

2019-02-15 16:24:06

阅读数 177

评论数 0

DP入门——2019-7-13

引入:先从一道简单的小奥题开始(然而我并不会) 已知一个n行m列的表格,求从左上角至右上角总共的方案数,只能往右或下走。 可以很轻松地得出,状态转移方程为f[i][j]=f[i-1][j]+f[i][j-1] 代码: #include <iostream> #inclu...

2019-07-13 20:08:44

阅读数 1

评论数 0

2019-06-11 LCA

LCA 思路一:暴力算法(会T3个点),直接从需要搜索的点向上,并将路径记录下来,再进行对比即可。 代码: #include<bits/stdc++.h> using namespace std; const int maxn=500000+5; vector&...

2019-06-11 19:56:27

阅读数 8

评论数 0

2019-06-02 ST表

ST算法: QM:求最值 练习题——忠诚 f[i][j]表示从i开始的连续2^j个数的最值 f[i][j]=max(f[i][j-1],f[i+2^(j-1)][j-1]) g[1][8]=max(g[1][4],g[5][8]) f[1][3]=max(f[1][2],f[1+2^2...

2019-06-02 20:03:39

阅读数 9

评论数 0

2019-05-21 图进阶

割顶的定义: 对于无向图G,如果删除某个点u之后,联通分量数量增加,则称u为图的割顶。 DFS时标记每个点遍历的次序为dfn 规定low(u)为u及其后代所能连回的最早祖先的dfn值 如: 该图中, A B C D E dfn 1 2 3 4 5 low 1 2 3 3 3 因...

2019-05-21 20:15:31

阅读数 10

评论数 0

2019-04-09 线段树

P3372 线段树1 线段树模板(LAZY): #include <bits/stdc++.h> const int maxn=100000+10; using namespace std; long long c[maxn*4],sum,lazy[maxn*...

2019-04-09 20:31:45

阅读数 21

评论数 0

2019-03-10 离散化

USACO 3.1.4 cpp: #include <bits/stdc++.h> using namespace std; const int maxn=2001; struct lrj233{ int x1,x2,y1,y2,c; }sp[maxn...

2019-03-10 20:57:02

阅读数 14

评论数 0

最小生成树模板

#include <bits/stdc++.h> using namespace std; const int maxn=500001; int fa[maxn],n,m,ans,s; struct edge{ int x,y,z; }a[500001...

2019-03-04 21:46:57

阅读数 18

评论数 0

2019-02-24 二维凸包

二维凸包: #include <bits/stdc++.h> using namespace std; const int maxn=100000+10; int n,top=2; double ans; st...

2019-02-24 20:30:55

阅读数 23

评论数 0

Tarijan

牛的舞会 #include <bits/stdc++.h> using namespace std; const int N=10001,M=100010; int n,m,ans,hea...

2019-02-15 14:59:26

阅读数 39

评论数 0

2019-02-13 最短路应用

传递闭包: 传递闭包就是求有向图中两点的可达性。 若从x可以到y,则ok[x][y]=1,否则ok[i][j]=0,然后利用近似Floyd的方法求解 核心代码: for(int k=1;k<=n;k++) for(int i=1;i&...

2019-02-13 14:52:57

阅读数 56

评论数 0

树的重心

#include<iostream> #include<cstdio> #include<vector> using ...

2019-02-12 15:04:29

阅读数 21

评论数 0

2019-2-12 最短路径算法

Dijkstra+Heap优化: 可AC这道题还有这道题 //时间复杂度:O(n*log2n) #include <bits/stdc++.h> using namespace std; const int maxn=10...

2019-02-12 15:03:43

阅读数 66

评论数 0

2018-12-30 树状数组

这一题 代码: #include<bits/stdc++.h> using namespace std; const int maxn=500000+5; int c[maxn],n,m; int szsh(int x){ ret...

2018-12-30 20:19:15

阅读数 24

评论数 0

2018-12-23 树

数组模拟堆进行快速排序: #include <bits/stdc++.h> using namespace std; const int maxn=100000+10; int a[maxn],len,n,k; int main(){ ...

2018-12-23 20:01:12

阅读数 29

评论数 0

2018-12-16 栈

栈: 老师blog 十进制转二进制: 1.数组模拟栈: #include <bits/stdc++.h> using namespace std; const int maxn=1000+10; int s...

2018-12-16 19:34:48

阅读数 22

评论数 0

spfa

#include <bits/stdc++.h> using namespace std; const int maxn=10000+10,inf=2147483647; int n,m,s,tot,dis[maxn],head[maxn...

2018-12-10 22:31:32

阅读数 17

评论数 0

队列 2018-12-9

队列的特征是先进先出。 一般用f(first)表示队首,用l(last)表示队尾,然后进行操作 两种方法: 1.STL法: #include <bits/stdc++.h> using na...

2018-12-09 19:34:57

阅读数 13

评论数 0

链表 2018-11-25

这节课复习数据结构。 链表简单来说就是首为0,尾为空(NULL)。 用链表可以进行简单的快速排序(题目) 切记:用链表做会超时!!!(链表时间复杂度O(n方)) #include <bits/stdc++.h> using namespace std; ...

2018-11-25 21:25:36

阅读数 24

评论数 0

欧几里得算法 2018-10-18

欧几里得算法就是辗转相除。 欧几里得算法和辗转相除法都是求两数最小公倍数的算法。 所以,欧几里得算法(辗转相除法)的重要代码如下: int gcd(int x,int y){ if(y==0) return x; else return gcd(y,x%y); ...

2018-10-18 19:51:11

阅读数 24

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭