题目名称 | 2579. [HZOI 2016]剩蛋节的礼物 |
---|---|
输入输出 | Rabbit_gift.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | _Itachi 于2016-12-24加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:7, 提交:34, 通过率:20.59% | ||||
_Itachi | 100 | 2.867 s | 183.40 MiB | C++ |
ONCE AGAIN | 100 | 3.074 s | 183.40 MiB | C++ |
金身人面兽 | 100 | 3.256 s | 53.72 MiB | C++ |
Go灬Fire | 100 | 3.268 s | 76.62 MiB | C++ |
New World | 100 | 3.278 s | 76.62 MiB | C++ |
Hzoi_chairman | 100 | 3.310 s | 53.72 MiB | C++ |
沉迷学习的假的Keller | 100 | 3.326 s | 76.62 MiB | C++ |
_Itachi | 80 | 2.907 s | 183.40 MiB | C++ |
ONCE AGAIN | 80 | 3.002 s | 183.40 MiB | C++ |
Hzoi_chairman | 80 | 3.788 s | 53.72 MiB | C++ |
关于 剩蛋节的礼物 的近10条评论(全部评论) | ||||
---|---|---|---|---|
inline就是快
Hzoi_chairman
2017-01-25 12:17
17楼
| ||||
求管理员加星
New World
2017-01-04 21:21
16楼
| ||||
| ||||
回复 @Go灬Fire :
Orz
沉迷学习的假的Keller
2017-01-04 10:19
14楼
| ||||
回复 @Ezoi_HelenKeller :
终于再有人写董大神的这一道题了
Go灬Fire
2017-01-04 10:14
13楼
| ||||
尼克搞到大象冰棍再也不用费劲做成小冰棍卖了...直接送给朱迪~收获一堆卡车的礼物2333333333
沉迷学习的假的Keller
2017-01-04 08:10
12楼
| ||||
这道题出的背景是这样子的:
身为同桌三人的我、lrd(cogs榜6联赛585的神牛)、ysf(cogsUID5196的大神)在一起讨论人生。 我:为什么老班把信奥的放在教室最后一排? ysf:因为咱们就剩5个人,已经降格为兴趣小组了。对了,我新YY了一道题:O(1)求C(n,m)的奇偶性(一个1星神题就此诞生)。 我:Lucas和勒让得都是log的,不会不会,%%% lrd:%%% ysf:你菜爆了!达哥也菜爆了! lrd:太神了!太神了!ysf都会树套树套主席树了!我还只会联赛前的知识! ysf:达哥菜爆了! lrd:太神了!太神了!ysf都会使用一维数组了,然而你为什么联赛连“天天爱跑步”都没A? ysf:。。。 我(在心中):ysf根本不会用一维数组! 于是就有了这道一维数组题,考查知识为联赛前的知识,而且一看就知道是在考什么。 最后,祝各位OIer剩蛋快乐!
_Itachi
2016-12-31 09:25
11楼
| ||||
神TM大冬天送冰激凌
YGOI_真神名曰驴蛋蛋
2016-12-31 08:24
10楼
| ||||
好吧现在成第一排了,还不如最后一排...
线段树有些勉强,最后两个点0.9秒多的.......... 好强的数据%%% | ||||
成功被暴力线段树踩...
其实这是一道树状数组+一维数组题
_Itachi
2016-12-30 19:56
8楼
|
剩蛋节到了,小兔子朱迪得到了来自尼克的礼物:大象冰淇凌!
朱迪当然很开心,因为二人第一次见面就是在大象的冰淇凌店(只不过当时朱迪被尼克骗了。)
于是朱迪决定也送礼物回赠尼克。朱迪的家人知道了这件事,他们也想送一份礼物给尼克,于是朱迪决定将一家人的礼物全部打包在一起送给尼克。
然而,要知道朱迪家有众多的小兔子(为朱迪的父母点个赞),所以礼物非常多。
现在朱迪不得不用n辆卡车来搬运这些礼物,于是朱迪的兄弟姐妹们都积极的帮朱迪将礼物装在卡车上,每次,一只小兔子会将在[l,r]的卡车上每辆卡车放a个礼物,总共m只小兔子。
接下来,在完成装车工作后,要运到尼克的住处
这时,麻烦又来了:卡车在运送路上会自由组队,但路上会通过一些桥,一些连续的卡车会同时通过一座桥,很可能会超载!
所以,朱迪需要询问同时通过一座桥的一些连续的卡车总共载了多少礼物。
同时,由于卡车司机很粗心,有时有一辆卡车会丢失一些礼物,不过卡车司机都很诚实,他们会立即告诉朱迪他们丢了多少东西。
另外,由于朱迪的兔缘很好,一路上也会有一些小动物在一辆卡车上放一些礼物,司机也会立刻告诉朱迪。
由于动物城分为很多个城区,所以,每到一个城区检查站,朱迪都要上报每辆卡车上装了多少礼物。
这实在太麻烦了,所以朱迪决定请树懒-闪电来帮忙(没错,就是你!)。
输入两个数n,m,意义如上述。(n<=1,000,000,m<=1,000,000)
接下来为十五个数:a,b,c,M1,l0,d,e,f,M2,r0,g,h,i,M3,v0
表示第i只小兔子的礼物将会装载[li,ri]上,并且每辆车会装vi个
其中vi=(g*v[i-1]*v[i-1]+h*v[i-1]+i)%M3
li=(a*l[i-1]*l[i-1]+b*l[i-1]+c)%M1+1
ri=(d*r[i-1]*r[i-1]+e*r[i-1]+f)%M2+1
(假如li>ri那么请交换li和ri)
接下来一个数T,表示发生了T个事件:(T<=1,000,000)
接下来T行,会有三种情况:
1 num l r 表示查询在第num个小兔子装完礼物后l到r之间的卡车上共有多少礼物。
2 x a 表示有小动物在第x辆卡车上放了a件礼物。
3 x a 表示第x辆卡车丢失了a件礼物。
4 l r 表示查询l到r之间的卡车上现在有多少礼物。
5 表示到了一个城区检查站,需要得知每一辆卡车上有多少礼物(本操作出现次数不超过5次)
为了减少你的输出量,第5种操作只需要输出所有卡车上的礼物个数的乘积(mod 1e9+7)。
每行一个数对应一个询问。
3 3
3 10 8 1 5 1 3 10 3 6 2 6 7 3 7
10
3 1 73
3 2 9
1 2 1 1
4 2 3
1 2 2 3
4 2 2
2 1 92
2 2 62
3 1 90
4 2 3
1
-7
2
-8
55
数据保证任何时候卡车上的礼物总数不超过C++的int的范围,但有可能会出现负数的情况(因为在动物城,任何事情都有可能实现!)
一只名字很长的蒟蒻。