Splay树-Codevs 1296 营业额统计】的更多相关文章

Codevs 1296 营业额统计 题目描述 Description Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营业情况是一项相当复杂的工作.由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题.经济管理学上定义了一种最小波动值来衡量这种情况:…
CJOJ 1308 [HNOI 2002 ]营业额统计 / CodeVS 1296 营业额统计(STL,二分) Description Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营业情况是一项相当复杂的工作.由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营…
1296 营业额统计2002年  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master   题目描述 Description Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营业情况是一项相当复杂的工作.由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很…
题目大意 每次加入一个值,并且询问之前加入的数中与该数相差最小的值. 答案输出所有相差值的总和. 解题分析 = = 参考程序 #include <bits/stdc++.h> using namespace std; const int INF=2000000000; class splay_tree { private: struct node { int val; node *l,*r,*f; node(int _val=0,node *_f=NULL,node *_l=NULL,node…
题目链接:http://www.wikioi.com/problem/1296/ 算法:Splay 这是非常经典的一道题目,用Splay树来维护营业额,每天的最小波动值就等于 min{树根-树根的前驱, 树根的后继-树根) 所以用Splay来维护 PS: 本题数据有问题,所以当空行时,值为0 ==========================14.06.13========================== 原来写的splay的bug太多,已换成数组= = ps:14.07.26又换成指针.…
有一个点超时,确实是个很简单的splay#include<cstdio> #include<iostream> using namespace std; int n,shu[1000006][2],root,size,b1,b2,sum1,sum[1000005],zhi[1000005]; int fa[1000005]; void xuan(int a1) { int a2,a3,l,r; a2=fa[a1]; a3=fa[a2]; if(a2==root) root=a1;…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1588 这道题貌似很多中做法,我先是用multiset交了一发,然后又写了一发splay. multiset做法,这个其实就是二分了,只是用set来保持加入一个元素时保持有序 #include <set> #include <map> #include <cmath> #include <ctime> #include <queue> #i…
没错这就是让我深陷splay之中的罪魁祸首,昨天打了一下午结果发现是玄学错误的那个 人生第一棵splay平衡树 题目大意:求一段序列,小于当前元素的最大值和大于当前元素的最小值.从该元素前面的元素找.(颓的别人的概括) 题解: 几乎是splay裸题了. 只需要注意一下本身,加一个特判:插入前cnt不为零或者是插入后cnt大于1.(不知道为啥,前者跑了900毫,后者只需要100毫……) 然后我就顺手写了一个小函数判定(其实就是找到该数字对应的下标) 代码如下: #include<iostream>…
有一个点答案错误,求大神指教 #include<cstdio>#include<iostream>#include<cstdlib>#include<ctime>using namespace std;struct shu{ int zhi,dui,l,r,sum1;}a[32768];int n,sum,root,size,ans;void qian(int a1,int a2){ if(a1==0)   return; if(a[a1].zhi==a2)…
1296 营业额统计 2002年  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master 题解  查看运行结果     题目描述 Description Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营业情况是一项相当复杂的工作.由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某…