luogu3168 [CQOI2015]任务查询系统
树状数组不用动脑子真爽啊
#include <algorithm>
#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;
int m, n, b[100005], rem, rot[100005], lson[20000005], rson[20000005], siz[20000005];
int cnt, xi, ai, bi, ci, ki, qque[45], len;
ll sum[20000005], lst=1;
struct Task{
int fro, too, val;
}tsk[100005];
int lowbit(int x){
return x&-x;
}
void update(int &rt, int l, int r, int x, int val){
if(!rt) rt = ++cnt;
siz[rt] += val;
sum[rt] += val * b[x];
if(l==r) return ;
int mid=(l+r)>>1;
if(x<=mid) update(lson[rt], l, mid, x, val);
if(mid<x) update(rson[rt], mid+1, r, x, val);
}
ll query(int l, int r, int k){
if(l==r) return (ll)k*b[l];
int tmp=0;
ll tat=0;
for(int i=1; i<=len; i++)
tmp += siz[lson[qque[i]]], tat += sum[lson[qque[i]]];
int mid=(l+r)>>1;
if(k<=tmp){
for(int i=1; i<=len; i++)
qque[i] = lson[qque[i]];
return query(l, mid, k);
}
else{
for(int i=1; i<=len; i++)
qque[i] = rson[qque[i]];
return query(mid+1, r, k-tmp)+tat;
}
}
int main(){
cin>>m>>n;
for(int i=1; i<=m; i++){
scanf("%d %d %d", &tsk[i].fro, &tsk[i].too, &tsk[i].val);
b[i] = tsk[i].val;
}
sort(b+1, b+1+m);
rem = unique(b+1, b+1+m) - (b + 1);
for(int i=1; i<=m; i++){
int tmp=lower_bound(b+1, b+1+rem, tsk[i].val)-b;
for(int j=tsk[i].fro; j<=n; j+=lowbit(j))
update(rot[j], 1, rem, tmp, 1);
for(int j=tsk[i].too+1; j<=n; j+=lowbit(j))
update(rot[j], 1, rem, tmp, -1);
}
for(int i=1; i<=n; i++){
scanf("%d %d %d %d", &xi, &ai, &bi, &ci);
ki = 1 + ((ll)ai*lst+bi) % ci;
int tmp=0;
ll ppp=0;
for(int i=xi; i; i-=lowbit(i)){
tmp += siz[rot[i]];
ppp += sum[rot[i]];
}
if(tmp<ki) lst = ppp;
else{
len = 0;
for(int i=xi; i; i-=lowbit(i))
qque[++len] = rot[i];
lst = query(1, rem, ki);
}
printf("%lld\n", lst);
}
return 0;
}
luogu3168 [CQOI2015]任务查询系统的更多相关文章
- BZOJ_3932_[CQOI2015]任务查询系统_主席树
BZOJ_3932_[CQOI2015]任务查询系统_主席树 题意: 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si,Ei,P ...
- BZOJ3932: [CQOI2015]任务查询系统 主席树
3932: [CQOI2015]任务查询系统 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 4869 Solved: 1652[Submit][St ...
- P3168 [CQOI2015]任务查询系统
题目地址:P3168 [CQOI2015]任务查询系统 主席树的模板题 更模板的在这儿:P3834 [模板]可持久化线段树 1(主席树) 形象的说,P3834是"单点修改,区间查询" ...
- 主席树||可持久化线段树||离散化||[CQOI2015]任务查询系统||BZOJ 3932||Luogu P3168
题目: [CQOI2015]任务查询系统 题解: 是一道很经典的题目.大体思路是抓优先级来当下标做主席树,用时刻作为主席树的版本.然而优先级范围到1e7去了,就离散化一遍.然后把每个事件的开始(s). ...
- bzoj3932 / P3168 [CQOI2015]任务查询系统(主席树+差分)
P3168 [CQOI2015]任务查询系统 看到第k小,就是主席树辣 对于每一段任务(a,b,k),在版本a的主席树+k,版本b+1的主席树-k 同一时间可能有多次修改,所以开个vector存操作, ...
- 2018.06.30 BZOJ 3932: [CQOI2015]任务查询系统(主席树)
3932: [CQOI2015]任务查询系统 Time Limit: 20 Sec Memory Limit: 512 MB Description 最近实验室正在为其管理的超级计算机编制一套任务管理 ...
- [CQOI2015]任务查询系统 主席树
[CQOI2015]任务查询系统 LG传送门 以前还没见过主席树的这种写法. 考虑使用差分的思想处理每一个任务,然后所有的东西就都能顺理成章地用主席树维护了,查询的时候和平时的主席树有一点不同,详见代 ...
- 【BZOJ3932】[CQOI2015]任务查询系统 主席树
[BZOJ3932][CQOI2015]任务查询系统 Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si, ...
- bzoj 3932: [CQOI2015]任务查询系统 -- 主席树 / 暴力
3932: [CQOI2015]任务查询系统 Time Limit: 20 Sec Memory Limit: 512 MB Description 最近实验室正在为其管理的超级计算机编制一套任务管 ...
随机推荐
- The Specials Menu LightOJ - 1025
The Specials Menu LightOJ - 1025 题意:在给定的字符串中删去一些字符,使其成为回文串(不能全部都删).求方案数. 方法:常规的区间dp.ans[i][j]表示在i到j的 ...
- Milking Grid POJ - 2185 || 最小覆盖子串
Milking Grid POJ - 2185 最小覆盖子串: 最小覆盖子串(串尾多一小段时,用前缀覆盖)长度为n-next[n](n-pre[n]),n为串长. 当n%(n-next[n])==0时 ...
- Java项目的命名规则
Java类的命名规范如下: 1. 项目名全部小写 2. 包名全部小写 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. 如:public class MyFirstClass{ ...
- Plugging an Unplugged Pluggable Database
1.unplug To unplug a PDB, you first close it and then generate an XML manifest file. The XML file co ...
- 关于bootstrap table的server分页
首先是bootstrap初始化的表格参数: // 初始化Table oTableInit.Init = function() { $('#booksTable').bootstrapTable({ u ...
- C#基础学习2
变量与数据类型!
- js数据类型之判断
js有几种类型,具体是:字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未定义(Undefined). js提供了typ ...
- 23中java设计模式(1)-- 策略模式
近来不太忙,就打算抽空看下源码补充一下知识,当我看了之后我发现看源码的关键是要弄清楚类之家的关系以及为何要这样的关系,否则如果只看具体的代码那不如去学习会儿算法. 于是就打算从设计模式入手,边学习边记 ...
- jQuery选择器之表单对象属性筛选选择器
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content ...
- 【学习笔记】深入理解js原型和闭包(7)——原型的灵活性
在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼(中秋节刚过完).压个啥样,就得是个啥样,不能随便动,动一动就坏了. 而在javascript中,就没有 ...