[JSOI2008]Blue Mary开公司[李超线段树]
题面
好久以前听lxl讲过 咕掉了。。 竟然又遇到了
安利blog
#include <cmath>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <complex>
#include <ctime>
#include <vector>
#define mp(x, y) make_pair(x, y)
using namespace std;
const int N = 1e5 + 5;
const int n = 5e4 + 2;
const double eps = 1e-9;
struct Line{
double k, b;
double f(double x){return k * x + b;}
}line[N];
int lsize;
struct LCSeg{
int w[N << 2];
void ins(int rt, int l, int r, int id){
if(!w[rt]){w[rt] = id; return ;}
if(l == r){
if(line[id].f(l) > line[w[rt]].f(l)) w[rt] = id;
return ;
}
int mid = l + ((r - l) >> 1);
if(line[id].k > line[w[rt]].k){
if(line[id].f(mid) > line[w[rt]].f(mid)) ins(rt << 1, l, mid, w[rt]), w[rt] = id;
else ins(rt << 1 | 1, mid + 1, r, id);
}
else {
if(line[id].f(mid) > line[w[rt]].f(mid)) ins(rt << 1 | 1, mid + 1, r, w[rt]), w[rt] = id;
else ins(rt << 1, l, mid, id);
}//这边要好好推
}
double qry(int rt, int l, int r, int x){
if(l == r) return line[w[rt]].f(x);
double res = line[w[rt]].f(x);
int mid = l + ((r - l) >> 1);
if(x <= mid) res = max(res, qry(rt << 1, l, mid, x));
else res = max(res, qry(rt << 1 | 1, mid + 1, r, x));
return res;
}
}seg;
int main(){
int T, pos; double x, y; char ss[N];
scanf("%d", &T);
while(T--){
scanf("%s", ss);
if(ss[0] == 'Q'){
scanf("%d", &pos);
double res = seg.qry(1, 1, n, pos);
printf("%d\n", (int)res / 100);
}
else {
++lsize;
scanf("%lf%lf", &line[lsize].b, &line[lsize].k); line[lsize].b -= line[lsize].k;
seg.ins(1, 1, n, lsize);
}
}
return 0;
}
[JSOI2008]Blue Mary开公司[李超线段树]的更多相关文章
- JSOI2008 Blue Mary开公司 | 李超线段树学习笔记
题目链接:戳我 这相当于是一个李超线段树的模板qwqwq,题解就不多说了. 代码如下: #include<iostream> #include<cstdio> #include ...
- [bzoj1568][JSOI2008]Blue Mary开公司——李超线段树
题目大意 题解 这道题需要用到一种叫做李超线段树的东西.我对于李超线段树,是这样理解的: 给节点打下的标记不进行下传,而是仅仅在需要的时候进行下传,这就是所谓永久化标记. 对于这道题,借用一张图, 这 ...
- BZOJ.1568.[JSOI2008]Blue Mary开公司(李超线段树)
题目链接 线段树每个节点记录\(f(mid)\)最大的直线(在\(mid\)处函数值最大的直线),称作优势线段(还是直线啊...无所谓了). 如果是在区间插入线段会影响\(O(\log n)\)个区间 ...
- 【BZOJ-1568】Blue Mary开公司 李超线段树 (标记永久化)
1568: [JSOI2008]Blue Mary开公司 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 557 Solved: 192[Submit ...
- 2019.02.11 bzoj1568: [JSOI2008]Blue Mary开公司(线段树)
传送门 题意简述:维护整体加一条线段,求单点极值. 思路: 直接上李超线段树维护即可. 代码: #include<bits/stdc++.h> #define ri register in ...
- BZOJ-1568: Blue Mary开公司 (李超线段树)
Description Input 第一行 :一个整数N ,表示方案和询问的总数. 接下来N行,每行开头一个单词“Query”或“Project”. 若单词为Query,则后接一个整数T,表示Blue ...
- P4254 [JSOI2008]Blue Mary开公司 (李超树)
题意:插入一些一次函数线段 每次询问在x = x0处这些线段的最大值 题解:李超树模版题 维护优势线段 注意这题的输入是x=1时的b #include <iostream> #includ ...
- 【BZOJ1568】[JSOI2008]Blue Mary开公司(李超线段树)
[BZOJ1568][JSOI2008]Blue Mary开公司(李超线段树) 题面 BZOJ 洛谷 题解 是模板题啊. #include<iostream> #include<cs ...
- 数据结构(线段树):BZOJ 1568 [JSOI2008]Blue Mary开公司
1568: [JSOI2008]Blue Mary开公司 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 602 Solved: 214[Submit ...
随机推荐
- arcgis api 3.x for js 入门开发系列十一地图统计图(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- Arcgis瓦片--js客户端加载
接上篇博客,下载好arcgis格式的瓦片数据以后,需要用js客户端在前端加载出来.这里介绍两种方案: 1.使用超图iServer将瓦片发布成rest地图服务,或者arcgis地图服务,客户端直接加载 ...
- ArcGIS Server注册数据库——以oracle为例
原创文章,转载须标明出处自: https://www.cnblogs.com/gisspace/p/9089117.html ------------------------------------- ...
- Mysql 数据库常用配置命令
1.查看mysql数据库默认编码: mysql> show variables like "character%"; +--------------------------+ ...
- Anaconda安装sasl,thrift,thrift-sasl,PyHive连接Hive
一.安装sasl 安装失败,前往:https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl下载对应自己python版本的sasl 本地安装: 二.安装thrif ...
- MongoDB 创建索引的语法
1.为普通字段添加索引,并且为索引命名 db.集合名.createIndex( {"字段名": 1 },{"name":'idx_字段名'}) 说明: (1)索 ...
- 扒一扒EOS的前世今生
扒一扒EOS的前世今生 EOS是什么? EOS可以认为是Enterprise Operation System的缩写,即商用的一款分布式区块链操作系统,EOS主要为了解决百万级用户的使用问题,为企 ...
- 注册表修改computer name
修改windows server的机器名的时候,发现change按钮是disable的. 手动修改不了,用注册表regedit来修改. HKEY_LOCAL_MACHINE\SYSTEM\Curren ...
- 【PAT】A1034Head of a Gang
昨天准备学完图相关的知识,但是学起来挺懵的,理解起来不难,但自己一回想,又什么都想不起来. 翻来覆去看图的遍历,还是觉得有点没到位. 所以做题来检测一下,果然学和自己做是两码事. 先看的书,又看的柳婼 ...
- Unix、Windows、Mac OS、Linux系统故事
我们熟知的操作系统大概都是windows系列,近年来Apple的成功,让MacOS也逐渐走进普通用户.在服务器领域,恐怕Linux是无人不知无人不晓.他们都是操作系统,也在自己的领域里独领风骚.这都还 ...