传送门

题意:

任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行),其优先级为Pi
调度系统会经常向查询系统询问,第Xi秒正在运行的任务中,优先级最小的Ki个任务(即将任务按照优先级从小到大排序后取前Ki个)的优先级之和是多少
对于100%的数据,1≤m,n,Si,Ei,Ci≤100000,0≤Ai,Bi≤100000,1≤Pi≤10000000,Xi为1到n的一个排列

我太弱了怎么什么题都要调怎么长时间
明显的区间$k$大
问一个点?差分就好了......前缀$k$大
时间建主席树,优先级建权值线段树
然后会爆$int$....$WA$
然后链表开小了....$WA$
然后最重要的,我手残加上了去重!!!去重你还怎么找前$k$大和啊沙茶
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define lc(x) t[x].l
#define rc(x) t[x].r
typedef long long ll;
const int N=1e5+;
int read(){
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-; c=getchar();}
while(c>=''&&c<=''){x=x*+c-''; c=getchar();}
return x*f;
}
int n,m;
struct Task{
int s,e,p;
bool operator <(const Task &r)const{return p<r.p;}
}a[N];
struct Edge{
int v,ne,f;
}e[N<<];
int h[N],cnt;
inline void ins(int u,int v,int f){
cnt++;
e[cnt].v=v;e[cnt].f=f;e[cnt].ne=h[u];h[u]=cnt;
}
struct Node{
int l,r,size;
ll sum;
}t[N*];
int sz,root[N];
void fIns(int &x,int l,int r,int p,int v){
t[++sz]=t[x];x=sz;
t[x].size+=v;
t[x].sum+= (ll)(v==?a[p].p:-a[p].p);
if(l==r) return;
int mid=(l+r)>>;
if(p<=mid) fIns(lc(x),l,mid,p,v);
else fIns(rc(x),mid+,r,p,v);
}
ll fQue(int x,int l,int r,int k){
if(t[x].size<=k) return t[x].sum;
if(l==r) return t[x].sum;
int mid=(l+r)>>,lsize=t[lc(x)].size;
if(k<=lsize) return fQue(lc(x),l,mid,k);
else return t[lc(x)].sum+fQue(rc(x),mid+,r,k-lsize);
}
int main(){
freopen("in","r",stdin);
m=read();n=read();
for(int i=;i<=m;i++) a[i].s=read(),a[i].e=read(),a[i].p=read();
sort(a+,a++m);
for(int i=;i<=m;i++) ins(a[i].s,i,),ins(a[i].e+,i,-);
for(int u=;u<=n;u++){
root[u]=root[u-];
for(int i=h[u];i;i=e[i].ne) fIns(root[u],,m,e[i].v,e[i].f);
} ll last=,x,A,B,C,k;
for(int i=;i<=n;i++){
x=read();A=read();B=read();C=read();
k=+(A*last+B)%C;
last=fQue(root[x],,m,k);
printf("%lld\n",last);
}
}
 
 

BZOJ 3932: [CQOI2015]任务查询系统 [主席树]的更多相关文章

  1. bzoj 3932: [CQOI2015]任务查询系统 -- 主席树 / 暴力

    3932: [CQOI2015]任务查询系统 Time Limit: 20 Sec  Memory Limit: 512 MB Description 最近实验室正在为其管理的超级计算机编制一套任务管 ...

  2. BZOJ.3932.[CQOI2015]任务查询系统(主席树 差分)

    题目链接 对于这一区间的操作,我们可以想到差分+前缀和(感觉也没什么别的了..). 同时对于本题我们能想到主席树,而主席树正是利用前一个节点建树的. 所以离散化.按时间排序,把操作拆成单点加和减即可. ...

  3. BZOJ 3932: [CQOI2015]任务查询系统 | 主席树练习题

    题目: 洛谷也能评测 题解: De了好长时间BUG发现是自己sort前面有一行for没删,气死. 题目询问第x秒时候前k小的P值之和. 朴素想法: 我们可以把P值离散化,然后对于每个时刻建一棵定义域是 ...

  4. BZOJ 3932: [CQOI2015]任务查询系统 (主席树板题)

    就是裸的主席树,差分之后排序插入主席树就行了. 注意主席树查询的时候叶子节点要特判,因为本身是有size的 还有要开longlong CODE #include <cctype> #inc ...

  5. 2018.06.30 BZOJ 3932: [CQOI2015]任务查询系统(主席树)

    3932: [CQOI2015]任务查询系统 Time Limit: 20 Sec Memory Limit: 512 MB Description 最近实验室正在为其管理的超级计算机编制一套任务管理 ...

  6. BZOJ3932: [CQOI2015]任务查询系统 主席树

    3932: [CQOI2015]任务查询系统 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 4869  Solved: 1652[Submit][St ...

  7. [CQOI2015]任务查询系统 主席树

    [CQOI2015]任务查询系统 LG传送门 以前还没见过主席树的这种写法. 考虑使用差分的思想处理每一个任务,然后所有的东西就都能顺理成章地用主席树维护了,查询的时候和平时的主席树有一点不同,详见代 ...

  8. 【BZOJ3932】[CQOI2015]任务查询系统 主席树

    [BZOJ3932][CQOI2015]任务查询系统 Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si, ...

  9. bzoj 3932 [CQOI2015]任务查询系统(主席树)

    Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分. 超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si ...

随机推荐

  1. HDU_5523Game

    Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Sub ...

  2. tinyxml的封装与使用(转载)

    tinyxml是个高效精简的xml解析开源代码. 针对tinyxml直接使用对于对xml不是很熟悉的入门新手来说,有些概念难以理解,因此我将其封装后,供大家使用. 头文件: #include &quo ...

  3. Centos7网络配置-转载

    一. 查看网络地址: centos7取消了ifconfig命令,使用ip addr命令查看IP地址 二.配置网络 用VirtualBox安装的CentOS7,安装完成后,发现无法上网,于是到网上查了一 ...

  4. Effective Java 第三版——25. 将源文件限制为单个顶级类

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  5. 【centos6.5 hadoop2.7 _64位一键安装脚本】有问题加我Q直接问

    #!/bin/bash#@author:feiyuanxing [既然笨到家,就要努力到家]#@date:2017-01-05#@E-Mail:feiyuanxing@gmail.com#@TARGE ...

  6. 从零开始学习前端开发 — 6、CSS布局模型

    一.css布局模型 1.流动模型(Flow) 元素在不设置css样式时的布局模型,是块元素就独占一行,是内联元素就在一行逐个进行显示 2.浮动模型(Float) 使用float属性来进行网页布局,给元 ...

  7. CSS3 background-size图片自适应

    http://www.html5cn.com.cn/css3/2013-04-21/267.html background-size属性和background-origin属性.background- ...

  8. Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件

    http://blog.csdn.net/rodulf/article/details/71169996 利用ssh传输文件 在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下 ...

  9. set类型

    set 集合 是string类型的无序集合.我们可以对集合去交集  并集  差集 sadd 添加元素 不允许有重复的值 smembers 查看元素中的值 srem 删除set中的值

  10. 策略模式--List排序

    需求:根据姓名进行排序,升序或者降序,如果名字一样,就按照id升序排序,用策略模式 步骤一: 定义一个Person对象 public class Person { private Integer id ...