C++一些不常见的库及函数
#include <bits/extc++.h>
using namespace std;
using namespace __gnu_pbds;
typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> set_t;
struct data{
int x,r,f;
data(int _x=0,int _r=0,int _f=0):x(_x),r(_r),f(_f){}
bool operator<(const data& b)const{
if(x!=b.x)return x<b.x;
return f>b.f;
}
}a[SIZE];
set_t s[10021];
int main(){
DRII(n,K);
REP(i,n){
DRIII(x,r,f);f+=10;
a[i]=data(x,r,f);
a[i+n]=data(x+r,x,-f);
}
sort(a,a+2*n);
LL an=0;
REP(i,2*n){
if(a[i].f>0){
REPP(j,a[i].f-K,a[i].f+K+1){
an+=SZ(s[j])-s[j].order_of_key(a[i].x-a[i].r);
}
s[a[i].f].insert(a[i].x);
}
else{
s[-a[i].f].erase(a[i].r);
}
}
cout<<an<<endl;
return 0;
}
/*
int main() {
set_t s;
for ( int i=0; i<5; i++ ) s.insert(10*i);
assert(*s.find_by_order(0) == 0);
assert(*s.find_by_order(3) == 30);
assert(s.find_by_order(5) == s.end());
assert(s.order_of_key(0) == 0);
assert(s.order_of_key(30) == 3);
assert(s.order_of_key(35) == 4);
assert(s.order_of_key(100) == 5);
return 0;
}
*/
C++一些不常见的库及函数的更多相关文章
- Atitit 数据库 标准库 sdk 函数库 编程语言 mysql oracle attilax总结
Atitit 数据库 标准库 sdk 函数库 编程语言 mysql oracle attilax总结 1.1. 常见的编程语言以及数据库 sql内部函数库标准化库一般有以下api1 1.2. 各个 ...
- JavaScript中常见的数组操作函数及用法
JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...
- JavaScript中常见的字符串操作函数及用法
JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
- python补充最常见的内置函数
最常见的内置函数是: print("Hello World!") 数学运算 abs(-5) # 取绝对值,也就是5 round(2. ...
- 使用STL库sort函数对vector进行排序
使用STL库sort函数对vector进行排序,vector的内容为对象的指针,而不是对象. 代码如下 #include <stdio.h> #include <vector> ...
- 【液晶模块系列基础视频】4.2.X-GUI图形界面库-画矩形函数简介
[液晶模块系列基础视频]4.2.X-GUI图形界面库-画矩形函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址: ...
- C++ 动态库导出函数名“乱码”及解决
C++ 动态库导出函数名“乱码”及解决 刚接触C++,在尝试从 dll 中导出函数时,发现导出的函数名都“乱码”了. 导出过程如下: 新建一个Win32项目: 新建的解决方案里有几个导出的示例: // ...
- Python math库常用函数
math库常用函数及举例: 注意:使用math库前,用import导入该库>>> import math 取大于等于x的最小的整数值,如果x是一个整数,则返回x>>> ...
- c/c++ 标准库 bind 函数 详解
标准库 bind 函数 详解 bind函数:接收一个函数名作为参数,生成一个新的函数. auto newCallable = bind(callbale, arg_list); arg_list中的参 ...
随机推荐
- jdbc 数据库批处理insert操作
package blob; import java.sql.Connection; import java.sql.PreparedStatement; import jdbc.utils.*; // ...
- Tomcat内存问题解决办法
使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError: Java heap space 在JVM中如果98%的时间是用于GC且可用的 Heap si ...
- 网站运行一段时间后就无法访问,重启Tomcat才能恢复
网站运行一段时间后就无法访问,重启Tomcat才能恢复出现这种情况,很可能是以下几种情况:1.超过数据库连接池上限2.并发数达到上限3.内存溢出具体还是需要通过打印的日志进行具体分析.解决方法1.如果 ...
- 架构师技能树skill-map
# 架构师技能树 ## 系统架构能力 ### 基本理论- 扩展性设计- 可用性设计- 可靠性设计- 一致性设计- 负载均衡设计- 过载保护设计 ### 协议设计- 二进制协议- 文本协议 ### 接入 ...
- 为什么对象被new 以后在执行dup操作?
为什么对象被new 以后在执行dup操作? 今天有个朋友问我,为什么一个new一个对象的指令在new后面紧跟的是dup操作?他说搜了可能找到的 搜索引擎都找不到答案,包括翻了<<深入JAV ...
- oracle知识博客链接
http://blog.csdn.net/YiQiJinBu/article/category/1100395/1
- C#关键字扫盲——Tuple(元组类) 、ValueTuple(值元组)
原文:C#关键字扫盲--Tuple(元组类) .ValueTuple(值元组) 版权声明:本文为博主原创文章,随意转载. https://blog.csdn.net/Michel4Liu/articl ...
- 一句话概括 tcp三次握手
服务端和客户端都需要直到自己均可收发,因此需要三次握手. 简化三次握手: <img width="487" alt="2018-07-10 3 42 11" ...
- 【记录】利用Jquery 在 textarea 内实现文字动态换行
背景: 最近在做前端时候遇到一种情况,需要用js动态输入内容到textarea, 比如实时聊天功能,用户A每次发送信息都需要另起一行. 问题: 根据以往经验,以为用$('#textArea').htm ...
- 2018-3-5-安装-pip
title author date CreateTime categories 安装 pip lindexi 2018-3-5 19:4:4 +0800 2018-03-05 18:57:15 +08 ...