一个现役oi选手的算法+数据结构心得
文章平均质量分 72
算法和数据结构可以说是IT行业的灵魂。同时信息学竞赛和IT行业也息息相关。譬如刘老师的《算法竞赛入门经典》几乎成了一本程序员的必备书。本专栏将从基础即竞赛角度出发对算法和数据结构进行层层深入的探究。
GYF_
我是一个信息爱好者
展开
-
NOIP提高组——树状数组
树状数组相较于线段树通俗易懂,代码简单。先写点更新,区间查询。#includeusing namespace std;const int MAXN = 500000;int bit[MAXN+1]; int n,m;int sum(int i){ int s=0; while (i>0){ s+=bit[i]; i-=i&原创 2017-08-24 21:35:54 · 641 阅读 · 0 评论 -
NOIP提高组——线段树
提高组有一些与普及组截然不同的算法,例如线段树和树状数组。codevs和洛谷上有许多题目。现在实现最基本的线段树输入输出。首先初始化#includeusing namespace std;#define LL long longconst int MAXN = 100000;int s[4*MAXN];int add[4*MAXN];不解释。然后是更新模块,每次操原创 2017-08-24 21:18:51 · 546 阅读 · 0 评论 -
线性代数学习
这周学习了线性代数,感觉很厉害的样子。。。高斯消元对于一组多项式方程(增广矩阵中,x[i, n+1]表示式子的值;x[i,j]表示第i个方程第j项的系数,在这里,增广矩阵可能不一定是n个,可能多可能少;opt表示运算规则):(x[1,1]*a[1]) opt (x[1,2]*a[2]) opt … opt (x[1,n]*a[n])=x[1, n+1](x[2,1]*a[1]) opt (...原创 2018-12-09 15:17:00 · 1667 阅读 · 0 评论 -
写在前面
本专栏分为两个方面:算法+数据结构 算法被誉为编程的灵魂,也是信息学竞赛的核心。信息学竞赛对算法的要求很高,甚至高出了IT的普遍应用范围。所以本专栏意在从一名竞赛生的角度让读者的算法水平从入门到精通。 数据结构被誉为编程的骨架,在编程中同样重要。 本专栏将使用c++语言,不过有其他算法基础的读者一定能看懂的。...原创 2018-07-23 21:30:22 · 296 阅读 · 0 评论