题目名称 1851. [HDOJ5140]Hun Gui Wei公司
输入输出 hunguiwei.in/out
难度等级 ★★
时间限制 4000 ms (4 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcstdio 于2014-12-07加入
开放分组 全部用户
提交状态
分类标签
可持久化线段树
分享题解
通过:23, 提交:71, 通过率:32.39%
GravatarGo灬Fire 100 1.117 s 89.96 MiB C++
Gravatar‎MistyEye 100 1.226 s 51.43 MiB C++
GravatarNew World 100 1.249 s 54.08 MiB C++
GravatarGo灬Fire 100 1.276 s 54.67 MiB C++
GravatarYueYueZha 100 1.279 s 63.62 MiB C++
GravatarGo灬Fire 100 1.293 s 54.08 MiB C++
GravatarL_in 100 1.455 s 64.41 MiB C++
Gravatar_Itachi 100 1.524 s 59.42 MiB C++
Gravatar_Itachi 100 1.585 s 59.42 MiB C++
Gravatar_Itachi 100 1.602 s 53.48 MiB C++
关于 Hun Gui Wei公司 的近10条评论(全部评论)
从前有个人不开longlong,然后
....
他死了
Gravatar‎MistyEye
2017-01-30 10:29 4楼
GravatarGo灬Fire
2017-01-20 11:49 3楼
读入没开long long
以为是数组原因,开到M还不对
以为是系统原因,换系统还不对
最后无语了,全开LL。。。。对了
GravatarGo灬Fire
2017-01-16 14:21 2楼
数据比较弱……所以可能无法检测类似数组越界的问题(tot没清空啥的),不过貌似HDOJ上的数据也很弱(我的代码运行时间也是一秒多)括弧笑
本题貌似是个老外出的,Hun Gui Wei到底是毛……魂归未?另外出题人看样子不会主席树,官方解答是线段树的每个节点存排序数组,查询时间复杂度log^2n
Gravatarcstdio
2014-12-07 10:53 1楼

1851. [HDOJ5140]Hun Gui Wei公司

★★   输入文件:hunguiwei.in   输出文件:hunguiwei.out   简单对比
时间限制:4 s   内存限制:128 MiB

【题目描述】

我的朋友Hun Gui Wei(HGW)创办了一家公司,名叫Hun Gui Wei公司(HGWC)。HGWC有许多员工。每名员工都有三个确定的值:工资,级别,工作年限。有时HGW想做一些查询。他想要知道符合某些条件的员工的工资之和。由于员工的总数很多,人工查询非常耗时。因此,他希望雇用你写一个程序帮助他。如果你完成得好,他将会给你一笔丰厚的酬金。

【输入格式】

多组测试数据(每个文件中要么是至多2组N<=10^5的数据,要么是至多10组N<=100的数据)

每组数据的第一行有一个整数n,代表HGWC中的员工数量。

接下来n行每行描述了一名员工:

每一行有三个整数S,L,A,代表该员工的工资,级别和工作年限。

接下来一行一个整数m,代表询问数量。

接下来m行描述了询问,形如:

HGW设置一个变量k。在每一组测试数据的开头k=0.对第i个询问,他让LLi=LLi+k,HLi=HLi-k,LAi=LAi+k,HAi=HAi-k,然后将k设为此次询问的答案。

【输出格式】

对第i个查询,输出一行一个整数,即级别在LLi,HLi之间(二者的大小不确定),同时工作年限在LAi,HAi之间(二者的大小不确定)的所有员工的工资之和。

【样例输入】

2

1 2 3

4 5 6

2

3 2 3 3

2 6 2 7

【样例输出】

1

4

【提示】

对于这组数据,我们首先清空k(即设置k=0)。对一个询问我们必须找到级别在2~3之间,工作年限恰好是3的员工。只有一名员工满足这个条件,其工资为1.因此第一个询问的答案是1.然后我们设置k=1.对第二个询问,我们需要按照题中所述来修改询问参数,因此修改后的询问参数变成了3 5 3 6.只有一名员工满足这个条件,其工资为4.所以第二个询问的答案是4.

输入文件中均为整数。

1<=n,m<=10^5

0<=S,L,A<=10^9

-10^17<=LLi,HLi,LAi,HAi<=10^17

【来源】

BestCoder Round #21 1003 Hun Gui Wei Company