树状数组不用动脑子真爽啊

#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]任务查询系统的更多相关文章

  1. BZOJ_3932_[CQOI2015]任务查询系统_主席树

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

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

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

  3. P3168 [CQOI2015]任务查询系统

    题目地址:P3168 [CQOI2015]任务查询系统 主席树的模板题 更模板的在这儿:P3834 [模板]可持久化线段树 1(主席树) 形象的说,P3834是"单点修改,区间查询" ...

  4. 主席树||可持久化线段树||离散化||[CQOI2015]任务查询系统||BZOJ 3932||Luogu P3168

    题目: [CQOI2015]任务查询系统 题解: 是一道很经典的题目.大体思路是抓优先级来当下标做主席树,用时刻作为主席树的版本.然而优先级范围到1e7去了,就离散化一遍.然后把每个事件的开始(s). ...

  5. bzoj3932 / P3168 [CQOI2015]任务查询系统(主席树+差分)

    P3168 [CQOI2015]任务查询系统 看到第k小,就是主席树辣 对于每一段任务(a,b,k),在版本a的主席树+k,版本b+1的主席树-k 同一时间可能有多次修改,所以开个vector存操作, ...

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

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

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

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

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

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

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

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

随机推荐

  1. 网络流24题 一句话题解(updating)

      搭配飞行员问题   最简单的一道题 就是一个二分图匹配   太空飞行计划   最大权闭合子图 什么叫"最大权闭合子图"呢? 就是给定一个有向图,在里面选择一个点集,使得点集中的 ...

  2. hdu 1979 DFS + 字典树剪枝

    http://acm.hdu.edu.cn/showproblem.php?pid=1979 Fill the blanks Time Limit: 3000/1000 MS (Java/Others ...

  3. JDBC——入门知识【转】

      1. 什么是JDBC:Java数据库连接性(JavaDatabase Connectivity) API,允许用户从Java应用程序中访问任何表格化数据源. 2. JDBC除了提供到更宽范围的SQ ...

  4. php 使用serialize() 和 unserialize() 让对象成超级变量

    手册里面的原话和一些总结: php函数serialize()与unserialize()说明及案例.想要将已序列化的字符串变回 PHP 的值,可使用unserialize().serialize()可 ...

  5. Dapper系列之三:Dapper的事务修改与删除

    Dapepr的Update和Delete Dapper入门Dapper查询 上两篇文章我们介绍Dapper中添加和查询.本篇文章我们继续讲解修改和删除....如果本篇文章看不懂,请看阅读上两篇Dapp ...

  6. 启动hadoop时报root@localhost's password: localhost: Permission denied, please try again.错误。

    背景:在装完hadoop及jdk之后,在执行start-all.sh的时候出现root@localhost's password:localhost:permission denied,please ...

  7. 基于udp协议的套接字及udp协议粘包问题

    udp协议的套接字 udp协议传输  服务端和客户端没有建立连接一说. import socket # 总结一下基础工作流程:服务端生成套接字并绑定ip_port,进入数据传输循环,服务端接受客户端发 ...

  8. vs 2015 编译cocos2dx 报错

    VS 2015 compiling cocos2d-x 3.3 error “fatal error C1189: #error: Macro definition of snprintf confl ...

  9. canvas基础绘制-倒计时(上)

    效果: html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  10. Eclipse 闪退/无法启动/一闪而过打解决办法

    解决方法 删除文件:/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi 经过实际应用真实有效.