传送门 真不知道我没学主席树之前是有什么勇气说自己高级数据结构以及学的七七八八了。 这道题应该也是算是主席树的经典运用。 刚开始脑抽了,想把(S,E,P)的处理直接在线用树状数组xjb搞搞算了。写完后才意识到树状数组无法(很难?)实现区间修改。 然后想了想既然这个是一下子把所有修改都放上了直接用树状 ...
分类:
其他好文 时间:
2016-12-08 23:16:28
阅读次数:
297
版权声明:本文为博主原创文章,未经博主允许不得转载。 bzoj 3832 题意: 有一堆任务,每个任务都有一个起始时间和终止时间,外加一个优先级 。 查询第xi秒优先级最小的k任务的优先级的和,如果第xi秒任务数小于k,则输出所有任务的优先级的和 。 解法: 每一秒都建立一颗线段树,线段树记录该时间 ...
分类:
其他好文 时间:
2016-10-19 01:35:13
阅读次数:
208
【题目大意】 超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行),其优先级为Pi。询问,第Xi秒正在运行的任务中,优先级最小的Ki个任务(即将任务按照优先级从小到大排序后取前Ki个)的优先级之和是多少。特别 ...
分类:
其他好文 时间:
2016-08-14 10:14:51
阅读次数:
133
bzoj3932[CQOI2015]任务查询系统 题意: m个任务,任务(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束,优先级为Pi。n个询问,每次询问第Xi秒正在运行的任务中,优先级最小的Ki个任务的优先级之和是多少。若Ki大于第Xi秒正在运行的任务总数,输出第Xi秒任务优先级之和。 ...
分类:
其他好文 时间:
2016-08-03 15:02:26
阅读次数:
172
Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分。 超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行),其优先级为Pi。同一时间可能有多个任务同时
分类:
其他好文 时间:
2016-02-03 19:13:32
阅读次数:
195
这个嘛= =,CQOI我只做了后面3题(前面两题老师还没考就还不敢写= =)说一下被虐报告吧= =T3:[CQOI2015]任务查询系统描述:戳我~~~这道题首先很明显是道裸的数据结构题啦。首先他要求在线,那么按顺序建个函数式线段树就行啦自己太弱调了好久= =CODE: 1 #include 2 #...
分类:
其他好文 时间:
2015-04-27 23:04:32
阅读次数:
187
先把序列建好,然后区间插入、单点询问等价于在左端点插入,在右端点删除,然后前缀询问。#include#include#includeusing namespace std;#define N 100001typedef long long ll;vectortong[N];typedef vecto...
分类:
其他好文 时间:
2015-04-13 16:14:33
阅读次数:
143
题目大意给出一些任务开始的时间,结束的时间,和优先级。问在第k秒时的第k大优先级,和前k小优先级的和。思路CQOI太良心,所有题都是512M。
这个题只需要按照时间轴弄一个可持久化线段树就行了,每个时间点对应着一个权值线段树,维护子节点的和和个数。
注意在没有操作的时候,当前时间点的线段树要复制上一个时间点的线段树。CODE#define _CRT_SECURE_NO_WARNINGS#incl...
分类:
其他好文 时间:
2015-04-09 13:45:34
阅读次数:
203
题解:
首先肯定要用线段树。
如果没有强制在线,那么直接把询问排个序然后按秩插入、删除、查询。普通线段树就好了,但是这道题强制在线,就需要可持久化线段树了。
线段树的每个区间记录[x:这段区间有的权值总和]、[n:这段区间有多少个权值][x:这段区间有的权值总和]、[n:这段区间有多少个权值]
然后每个版本表示一个时间点的线段树。
这道题每个版本可能有多个节点被修改,所以我们可以先当成多...
分类:
其他好文 时间:
2015-04-08 10:56:19
阅读次数:
168