From 8f420bdee4176c7f3dbc3e5702208d2154f2ab59 Mon Sep 17 00:00:00 2001 From: "phluenam@gmail.com" Date: Mon, 25 Sep 2023 07:02:47 +0800 Subject: [PATCH 1/2] Add 1110.md --- md/1110.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 md/1110.md diff --git a/md/1110.md b/md/1110.md new file mode 100644 index 0000000..22f3f50 --- /dev/null +++ b/md/1110.md @@ -0,0 +1,23 @@ +ข้อนี้ต้องการหาว่าสำหรับอาเรย์ $A[1..N]$ ที่มีค่าตั้งแต่ $1$ ถึง $N$ แบบไม่ซ้ำกัน จะมีกี่คู่ $(l,r)$ ที่ $A[l..r]$ มีค่ามัฐยฐานเท่ากับ $k$ + +## เคส $n \leq 1000$ + +จากนิยามของมัธยฐานจะสังเกตได้ว่า $k$ จะต้องอยู่ใน $A[l..r]$ และใน $A[l..r]$ จะมีจำนวนค่าที่มากกว่า $k$ เท่ากับจำนวนค่าที่น้อยกว่า $k$ + +กำหนดให้ $x$ เป็นดัชนีที่ทำให้ $A[x]=k$ และนิยาม $C[i] = (A[i] > k) - (A[j] < k) $ กล่าวคือ $C[i]$ เป็น $1$ เมื่อ $A[i] >k$ และ $-1$ เมื่อ $A[i] Date: Mon, 25 Sep 2023 07:04:18 +0800 Subject: [PATCH 2/2] change formatting --- md/1110.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/md/1110.md b/md/1110.md index 22f3f50..6eb3066 100644 --- a/md/1110.md +++ b/md/1110.md @@ -1,6 +1,6 @@ ข้อนี้ต้องการหาว่าสำหรับอาเรย์ $A[1..N]$ ที่มีค่าตั้งแต่ $1$ ถึง $N$ แบบไม่ซ้ำกัน จะมีกี่คู่ $(l,r)$ ที่ $A[l..r]$ มีค่ามัฐยฐานเท่ากับ $k$ -## เคส $n \leq 1000$ +### เคส $N \leq 1000$ จากนิยามของมัธยฐานจะสังเกตได้ว่า $k$ จะต้องอยู่ใน $A[l..r]$ และใน $A[l..r]$ จะมีจำนวนค่าที่มากกว่า $k$ เท่ากับจำนวนค่าที่น้อยกว่า $k$ @@ -14,7 +14,7 @@ การคำนวณค่า $C[1..N]$ $SL[1..x]$ และ $SR[x..N]$ ใช้เวลา $\mathcal{O}(N)$ การเช็คแต่ละคู่ $(l,r)$ ใช้เวลา $\mathcal{O}(N^2)$ -## เคส $n \leq 1000000$ +### เคส $N \leq 1000000$ เมื่อกำหนัด $L_s$ เป็นจำนวน $l$ ที่ทำให้ $SL[l]=s$ และ $R_s$ เป็นจำนวน $r$ ที่ทำให้ $ SR[r] =s$ จะได้ว่าคำตอบคือ $\sum_{s=-N}^N L_sR_{-s}$ (เพราะเมื่อ $SL[l] =s$ และ $ SR[r] =-s$ จะได้ว่า $\Sigma_{i=l}^{x} C[i] + \Sigma_{i=x}^r C[i]= s - s = 0$)