bzoj 1588
題意就是給你乙個n n天有n個營業額 營業額與前面的最小波動值加起來
和上一題差不多 想一下改乙個地方就很好實現了 看下**有什麼不一樣吧
/*
bzoj 1588
*/#include #include #include #include #include #include #include #include #include #include using namespace std;
#define dbg(x) cout<<#x<<" = "<< (x)<< endl
const int inf = 0x3f3f3f3f;
int tot,root,n;
const int size = 100010;
struct treapa[size];
int new(int val)
void update(int p)
void build()
int getrankbyval(int p,int val)
void zig(int &p)
void zag(int &p)
void insert(int &p,int val)
if(val == a[p].val)
if(val0)
break;
}if(a[p].val < val && a[p].val > a[ans].val) ans = p;
p = val < a[p].val ? a[p].l : a[p].r;
}return a[ans].val;
}int getnext(int val)
break;
}if(a[p].val > val && a[p].val < a[ans].val) ans= p;
p = val < a[p].val ? a[p].l : a[p].r;
}return a[ans].val;
}void remove(int &p,int val)
if(a[p].l||a[p].r)
else p = 0;
return;
}val < a[p].val ? remove(a[p].l,val) : remove(a[p].r,val);
update(p);
}int main()
printf("%d\n",ans);
return 0;
}
bzoj1588營業額統計
treap一發,每次尋找最接近的兩個以前的點計算即可,聽同學吐槽我的 風格很像黃學長,恩沒錯我是學習他的 風格的 include include include include include define n 50005 define inf 10000000 using namespace st...
bzoj1588營業額統計
description 營業額統計 tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節假日,大減價或者是其他情況的時候,營業額會出現一...
bzoj1588 營業額統計
2014年3月28日 5,309 3營業額統計 tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節假日,大減價或者是其他情況的時候,營...