BZOJ 1058 ZJOI 2007 报表统计 平衡树
来源:互联网 发布:路面弯沉计算软件 编辑:程序博客网 时间:2024/05/22 11:39
题目大意:给出一个序列,有几个操作,询问相邻两个数的差值的绝对值的最小值,排序后差值绝对值的最小值。
思路:简单用平衡树或者set水一下就行了。
(我个沙茶最开始sort_min还用的set维护
CODE:
#include <set>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define MAX 500010#define INF 0xf3f3f3fusing namespace std; int cnt,asks;int src[MAX],last[MAX]; multiset<int> sorted,list_min;int sort_min = INF;char s[20]; int main(){ cin >> cnt >> asks; for(int i = 1; i <= cnt; ++i) scanf("%d",&src[i]),last[i] = src[i],sorted.insert(src[i]); for(int i = 2; i <= cnt; ++i) list_min.insert(abs(src[i] - src[i - 1])); multiset<int>::iterator l; for(multiset<int>::iterator it = sorted.begin(); it != sorted.end(); ++it) { if(it != sorted.begin()) sort_min = min(sort_min,abs(*it - *l)); l = it; } for(int x,y,i = 1; i <= asks; ++i) { scanf("%s",s); if(s[0] == 'I') { scanf("%d%d",&x,&y); multiset<int>::iterator it = sorted.insert(y); it--,sort_min = min(sort_min,abs(y - *it)),it++; it++,sort_min = min(sort_min,abs(y - *it)),it--; it = list_min.find(abs(last[x] - src[x + 1])); list_min.erase(it); list_min.insert(abs(y - last[x])); list_min.insert(abs(src[x + 1] - y)); last[x] = y; } else if(s[4] == 'S') printf("%d\n",sort_min); else printf("%d\n",*list_min.begin()); } return 0;}
0 0
- [BZOJ 1058][ZJOI 2007]报表统计 平衡树+线段树
- BZOJ 1058 ZJOI 2007 报表统计 平衡树
- 【BZOJ 1058】【ZJOI 2007】报表统计【Treap】
- ZJOI 2007 报表统计(multiset)
- bzoj 1036[ZJOI] 树的统计
- [BZOJ 1036] ZJOI 2008 树的统计Count · 树链剖分
- JZOJ 2256. 【BZOJ 2256】【ZJOI 2008】树的统计
- BZOJ 1058 [ZJOI2007]报表统计
- 【BZOJ - 1058】 ZJOI2007 报表统计
- BZOJ 1058: [ZJOI2007]报表统计
- 【BZOJ 1058】 [ZJOI2007]报表统计
- bzoj 1058: [ZJOI2007]报表统计
- [BZOJ1058]ZJOI2007报表统计|平衡树
- 【bzoj1058】[ZJOI2007]报表统计 平衡树
- ZJOI 树的统计 [五星]
- ZJOI 2008 树的统计
- bzoj 1058: [ZJOI2007]报表统计(splay+线段树)
- BZOJ 1058: [ZJOI2007]报表统计 STL
- Maven简介和使用说明
- ksoap调用webservice
- UIView
- cmake编译debug版本
- linux c 一些常用库函数以及部分原型
- BZOJ 1058 ZJOI 2007 报表统计 平衡树
- String的Hash code以及计算N进制的方法
- Android 利用广播机制来进行SERVICE后台服务进程的守护
- 2014秋C++ 狗逮耗子之“开口说英语”
- STL入门第一篇——初识STL
- 【求助】u_boot中关于IP101GR的问题!!
- 2014年年终总结
- Python__new__和__init__
- [科普文] 关于浏览器内核的一些小知识,明明白白选浏览器!