k556. 老鼠愛解題
標籤 : 資料結構
通過比率 : 2人/3人 ( 67% ) [非即時]
評分方式:
Tolerant

最近更新 : 2023-06-23 00:46

內容

老鼠喜歡在 Zerojudge 上解題,在西元 526522 年,Zerojudge 上已經出了 $10^{18}$ 題了,如果把「解題統計」看成一個 2D 平面,那麼它會是一個大小為 $10^9\times 10^9$ 的平面,在座標為 $(x,y)\ (1\leq x,y\leq 10^9)$ 的題目會有一個值 $a_{x,y}$,代表老鼠在此題提交的次數,每題初始時次數都是 $0$。

老鼠接下來會做 $m$ 次解題操作,在每一次解題操作,老鼠會複製其他人 blog 的 code (當時的電腦速度已經可以 1 飛秒 ($1\text{ fs}=10^{-15}\text{ s}$) 複製貼上一題了),然後選定 $5$ 個正整數 $u,d,l,r,k$,代表要在座標 $(x,y)$ 在 $u\leq x\leq d,l\leq y\leq r$ 這個範圍的題目提交 $k$ 次,也就是讓在此範圍的 $a_{x,y}$ 都增加 $k$。

老鼠在進行完 $m$ 次的解題操作,解題次數已經快要到排行榜上的第一名了,這時他已經有出題權限了,他在出加減法、語法題之餘,也想要知道他在「解題統計」上的某個範圍總共提交幾次。具體來說,老鼠會有 $q$ 筆詢問,每筆詢問會給 $u,d,l,r$,代表他想詢問 $\sum\limits_{x=u}^d\sum\limits_{y=l}^ra_{x,y}$ 是多少,由於這個數字可能會很大,請對 $10^9+7$ 取餘數之後再輸出。

輸入說明

第一行有兩個正整數 $m,q$,代表操作次數與詢問次數。

接下來 $m$ 行,每行有五個正整數 $u,d,l,r,k$,代表要在範圍內題目的提交次數增加 $k$。

接下來 $q$ 行,每行有四個正整數 $u,d,l,r$,代表要詢問你在此範圍內題目的提交次數總和是多少。

  • $1\leq m,q\leq 10^5$
  • $1\leq u\leq d\leq 10^9$
  • $1\leq l\leq r\leq 10^9$
  • $1\leq k<10^9+7$
輸出說明

對於每筆詢問,請輸出在此範圍內題目的提交次數總和 $\sum\limits_{x=u}^d\sum\limits_{y=l}^ra_{x,y}$,由於答案可能會很大,請 $\text{mod } 10^9+7$ 後再輸出。

範例輸入 #1
1 1
2 5 3 7 100
1 3 4 8
範例輸出 #1
800
範例輸入 #2
5 5
10 55 45 95 21
92 92 3 95 50
37 73 49 61 42
2 52 34 45 31
74 90 61 68 13
13 69 21 32
37 83 21 97
20 41 36 40
62 62 1 43
52 59 68 80
範例輸出 #2
0
47543
3410
0
1092
範例輸入 #3
10 10
335034016 788672820 66944546 320901493 835994454
253079305 826763452 675212054 756714774 356193598
640232203 785624406 83503012 716314819 137413797
136053361 444415615 78534298 408903014 220274269
294870117 448482279 418108380 690390968 351337285
655211069 973471282 531784236 576492826 613049387
105000181 604164563 570181788 765147612 811002925
409917046 548747183 292464168 850202158 236051257
297283469 311434014 612629108 938501800 616760752
177267612 990668261 619724343 674453452 465521143
516161277 719625747 459090358 961397347
361286497 685269323 85381039 435632543
554920455 858249722 395353559 875402515
724200562 943831868 88861963 557722637
170321046 810296514 111445481 728832197
9439046 455207634 15215311 77687986
429258361 506706655 40981308 789175743
18967438 692950777 476174548 961818219
311805887 579068473 229798815 660829967
529493841 564113611 362553888 649874958
範例輸出 #3
283063934
25598292
655508565
183762138
132621949
389076768
653826203
352648612
620604015
354336438
測資資訊:
記憶體限制: 256 MB
公開 測資點#0 (5%): 3.0s , <1K
公開 測資點#1 (5%): 3.0s , <1K
公開 測資點#2 (5%): 3.0s , <1M
公開 測資點#3 (5%): 3.0s , <1M
公開 測資點#4 (10%): 3.0s , <10M
公開 測資點#5 (10%): 3.0s , <10M
公開 測資點#6 (10%): 3.0s , <10M
公開 測資點#7 (10%): 3.0s , <10M
公開 測資點#8 (10%): 3.0s , <10M
公開 測資點#9 (10%): 3.0s , <10M
公開 測資點#10 (10%): 3.0s , <10M
公開 測資點#11 (10%): 3.0s , <10M
提示 :

簡單來說就是在平面的一些矩形加值,然後請你輸出一些矩形求和的結果。

 

$10\%:m,q\leq 10,d,r\leq 100$

$10\%:m,q\leq 100$

$80\%:無特別限制$

標籤:
資料結構
出處:
[管理者: becaido (Caido) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」