bzoj3932
3932: [CQOI2015]任务查询系统
Time Limit: 20 Sec Memory Limit: 512 MB
Submit: 1326 Solved: 480
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
1 2 6
2 3 3
1 3 2
3 3 4
3 1 3 2
1 1 3 4
2 2 4 3
Sample Output
8
11
HINT
Source
题解:同bzoj1901,写一个进来时加,出去时删。。。。。
#include<set>
#include<map>
#include<ctime>
#include<queue>
#include<cmath>
#include<cstdio>
#include<vector>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define inf 100000000000000LL
#define pa pair<int,int>
#define ll long long
using namespace std;
ll read()
{
ll x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
int m,n,cnt,mx;
int q[],top;
int S[],E[],P[],disc[];
int root[],size[],a[][];
ll sum[];
int insert(int x,int val,int f)
{
if(!x)x=++cnt;
size[x]+=f;sum[x]+=f*disc[val];
int tmp=x;
int l=,r=*m;
while(l!=r)
{
int mid=(l+r)>>,t=;
if(val>mid)t^=,l=mid+;
else r=mid;
if(!a[x][t])a[x][t]=++cnt;
x=a[x][t];size[x]+=f;
sum[x]+=f*disc[val];
}
return tmp;
}
void update(int x,int val,int f)
{
for(int i=x;i<=n;i+=i&-i)
root[i]=insert(root[i],val,f);
}
ll query(int x,int K)
{
ll ans=,tot=;
top=;
for(int i=x;i;i-=i&-i)
{
q[++top]=root[i],tot+=size[root[i]];
ans+=sum[root[i]];
}
if(K>tot)return ans;
else ans=;
int l=,r=*m;
while(l!=r)
{
int mid=(l+r)>>,t,tmp=;
for(int i=;i<=top;i++)
tmp+=size[a[q[i]][]];
if(tmp<K)
{
for(int i=;i<=top;i++)ans+=sum[a[q[i]][]];
t=;
K-=tmp,l=mid+;
}
else r=mid,t=;
for(int i=;i<=top;i++)
q[i]=a[q[i]][t];
}
ans+=1LL*K*disc[l];
return ans;
}
int main()
{
m=read();n=read();
for(int i=;i<=m;i++)
{
S[i]=read(),E[i]=read(),P[i]=read();
disc[i]=P[i];
}
sort(disc+,disc+m+);
for(int i=;i<=m;i++)
{
P[i]=lower_bound(disc+,disc+m+,P[i])-disc;
update(S[i],P[i],),update(E[i]+,P[i],-);
}
ll Pre=,X,A,B,C,K;
for(int i=;i<=n;i++)
{
X=read();A=read();B=read();C=read();
K=+(A*Pre+B)%C;
Pre=query(X,K);
printf("%lld\n",Pre);
}
return ;
}
bzoj3932的更多相关文章
- 【bzoj3932】 CQOI2015—任务查询系统
http://www.lydsy.com/JudgeOnline/problem.php?id=3932 (题目链接) 题意 给出$m$个区间,每个区间有一个权值,$n$组询问,每次询问在位置$x$权 ...
- 【BZOJ3932】[CQOI2015]任务查询系统 主席树
[BZOJ3932][CQOI2015]任务查询系统 Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si, ...
- BZOJ3932 CQOI2015 任务查询系统 【主席树】
BZOJ3932 CQOI2015 任务查询系统 Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的任务用三元组(Si,Ei, ...
- [bzoj3932][CQOI2015]任务查询系统_主席树
任务查询系统 bzoj-3932 CQOI-2015 题目大意:最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的任务用三元组(Si,Ei,Pi)描述 ...
- [bzoj3932][CQOI2015][任务查询系统] (主席树)
Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si ...
- BZOJ3932: [CQOI2015]任务查询系统
传送门 真不知道我没学主席树之前是有什么勇气说自己高级数据结构以及学的七七八八了. 这道题应该也是算是主席树的经典运用. 刚开始脑抽了,想把(S,E,P)的处理直接在线用树状数组xjb搞搞算了.写完后 ...
- 【BZOJ3932】任务查询系统(主席树)
[BZOJ3923]任务查询系统(主席树) 题面 Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si,Ei ...
- BZOJ3932 主席树
https://www.lydsy.com/JudgeOnline/problem.php?id=3932 题意:给出一些带有等级的线段,求一点上前K小个等级线段的等级之和 询问是对于每一个点询问前K ...
- BZOJ3932: [CQOI2015]任务查询系统 主席树
3932: [CQOI2015]任务查询系统 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 4869 Solved: 1652[Submit][St ...
随机推荐
- STM32F2系列低功耗总结
序号 运行状态 进入指令(stm32f2xx_pwr.c) 退出条件 状态 IO管脚状态 进一步降低功耗的措施 1 运行模式 上电/系统复位后的默认模式, HCLK驱动CPU运行代码 可通过指令 进入 ...
- [转]PHP经验——PHPDoc PHP注释的标准文档
文档翻译自:http://en.wikipedia.org/wiki/Phpdoc 标记 用途 描述 @abstract 抽象类的变量和方法 @access public, private or ...
- centos dmesg
linux dmesg命令详解 功能说明:显示开机信息. 语 法:dmesg [-cn][-s ] 补充说明:kernel会将开机信息存储在ring buffer,若是开机时来不及查看信息,可利用 ...
- FIFO 和 LRU 调度算法
在一个采用页式虚拟存储管理的系统中(字地址序列.页号.块号均从零开始编址),有一用户作业,它依次要访问的字地址序列是:15,128,300,388,246,402,223,142,360,267,若该 ...
- 转:C#生成唯一值的方法汇总
这篇文章主要介绍了C#生成唯一值的方法汇总,有需要的朋友可以参考一下 生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的一次总结,有兴趣的可以自行测试: 一.在 .NET ...
- java source map
Chrome 更新后出现了 jquery.min.map 404 (Not Found) 的信息 这个到底是什么东西?查询了一下,得到了以下资料 JQuery 官方解释 摘录一下內容 从 jQuer ...
- DHCP配置部分
1.DHCP工作过程 dhcp discover \\客户端请求服务器器提供地址 dhcp offer \\服务器提供ip地址 dhcp request \\客户端租用ip地址 dhcp ack \\ ...
- Tomcat(.jsp)
定义: Tomcat服务器是一个免费的开放源代码的Web应用服务器.Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由 ...
- xtrabackup数据库备份
xtrabackup备份 一.Xtrabackup概述 1.1.简介 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Ho ...
- 无限循环小数POJ1930
题意:给定一个无限循环小数,求其分数形势,要求分母最小 分析:看了别人的题解才做出来的,将无限循环小数转化成分数,分为纯循环和混循环两种形式. (1)对于纯循环:用9做分母,有多少个循环数就几个9,比 ...