NOIP提高组
文章平均质量分 61
GYF_
我是一个信息爱好者
展开
-
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 · 536 阅读 · 0 评论 -
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 · 635 阅读 · 0 评论 -
写在前面
本专栏分为两个方面:算法+数据结构 算法被誉为编程的灵魂,也是信息学竞赛的核心。信息学竞赛对算法的要求很高,甚至高出了IT的普遍应用范围。所以本专栏意在从一名竞赛生的角度让读者的算法水平从入门到精通。 数据结构被誉为编程的骨架,在编程中同样重要。 本专栏将使用c++语言,不过有其他算法基础的读者一定能看懂的。...原创 2018-07-23 21:30:22 · 291 阅读 · 0 评论 -
传递糖果问题
题目描述有n&lt;=1e6n&lt;=1e6n<=1e6个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。求使所有人获得均等糖果的最小代价。三倍经验:UVA11300 HAOI2008 负载平衡问题糖果的数量是一定的,平均值能算出来,我们只要知道其中任何两个人之间的传递就能推出所有人。做个前缀和然后排序取中位数就可以了。...原创 2019-02-28 23:50:40 · 433 阅读 · 0 评论