http://codevs.cn/problem/1285/

题解

运用STL的set,和算法库(Algorithm)的upper_bound()与lower_bound(),实现log(n)的查找。要注意的是set类的upper_bound(x) 返回在集合中第一个大于x的元素,而lower_bound()返回在集合中第一个大于或等于x的元素,与它们在数组中的作用不太一样。

代码

总时间耗费: 657ms
总内存耗费: 748B

#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<set>
#include<cmath>
#include<algorithm>
using namespace std;set<int> S;
int main() {int n;bool flag;cin >> n;int ans = 0;for(int i = 1; i <= n; i++) {int a, b;cin >> a >> b;if(S.empty() || flag == a) {S.insert(b);flag = a;} else {set<int>::iterator it = S.lower_bound(b);int x = *it, y = (it == S.begin())? (*it) : *(--it);if(abs(b-x) <= abs(b-y)) S.erase(x); else S.erase(y);ans = (ans + min(abs(b-x), abs(b-y))) % 1000000;}}cout << ans << endl;return 0;
}

[CODEVS 1285] 宠物收养所相关推荐

  1. BZOJ1208[HNOI2004]宠物收养场——treap

    凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领 ...

  2. 洛谷P2286 [HNOI2004]宠物收养所 [STL,平衡树]

    题目传送门 宠物收养所 题目描述 凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的 ...

  3. bzoj1208: [HNOI2004]宠物收养所

    Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 6182  Solved: 2396 [Submit][Status][Discuss] Descri ...

  4. B1208 [HNOI2004]宠物收养所 平衡树||set (滑稽)

    这个题是一道splay裸题,但是我不太会写,所以用set直接水过去!!!哈哈哈哈,美滋滋. set总结: set是一个集合,然后里面没用重复的元素.里面有一些函数: begin()     ,返回se ...

  5. 洛谷P2286 [HNOI2004]宠物收养场

    题目描述 凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领 ...

  6. cogs62 [HNOI2004] 宠物收养所

    cogs62 [HNOI2004] 宠物收养所 啦啦啦啦 不维护区间的平衡树题都是树状数组+二分练手题! 不会的参考我的普通平衡树的多种神奇解法之BIT+二分答案 // It is made by X ...

  7. 洛谷 P2286 [HNOI2004]宠物收养场

    题目描述 凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领 ...

  8. BZOJ 1208: [HNOI2004]宠物收养所

    1208: [HNOI2004]宠物收养所 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 7684  Solved: 3042 [Submit][S ...

  9. 1208: [HNOI2004]宠物收养所

    1208: [HNOI2004]宠物收养所 1.用Treap树写: 只需要三个操作,插入,删除,查找(同时找出其前继后继): View Code /************************** ...

最新文章

  1. MYSQL人事工资管理系统-插入数据(三)
  2. 点云三维重建有关原理
  3. 2.6 矩阵乘法重要特例
  4. Linux 更改共享内存tmpfs的大小
  5. 剑指 Offer JZ35 复杂链表的复制
  6. impala查询数据与hive的查询数据比对(数据的校验)
  7. Java 系统工具类 —— System、Scanner、Runtime
  8. mysql 目录的了解以及Linux
  9. 历数2017年五大Linux痛点,哪个戳到了你?
  10. 微信小程序 tabs 选项卡 分页加载 + 图片上传
  11. 从致远OA-ajax.do未授权文件上传漏洞复现
  12. tplink710n无线打印服务器,tplink710n设置
  13. 毕业设计-基于微信小程序的图书馆咨询服务系统
  14. dht11 python mysql,通过python脚本将arduino传感器数据发送到mysql数据库时出现问题
  15. 在Windows下批量修改文件后缀(ren命令-rename)
  16. 计算机核心期刊的终审环节,7 本中文核心期刊投稿经验分享 总有一款适合你
  17. Debezium的MySQL连接器的工作原理
  18. TDM-GCC MINGW配置与优化算法测试函数使用
  19. 如何改进课堂学习方法?
  20. java强行访问别人qq空间_疯人院:如何使用javascript来获取QQ空间最近访客好友。...

热门文章

  1. 学长毕业日记 :本科毕业论文写成博士论文的神操作20170404
  2. xp 无线连接 服务器,NPS配置无线策略XP能正常连接,WIN连接不成功
  3. 山西职称计算机考试报名时间 2014,2014山西省6月份职称计算机考试报名入口
  4. 3DSlicer10:体系结构1
  5. 【Let‘s Go】Go语言入门篇
  6. Redis缓存穿透、击穿、雪崩、预热、更新、降级
  7. zcmu-1957(状态压缩枚举)
  8. android activity dialog 高度,将Activity以Dialog形式显示,并设置宽高度
  9. Android智能指针
  10. getSystemService() in Android