ABC lessons learned8 - zettsu-t/zettsu-t.github.io GitHub Wiki
ใณใณใในใใซๅๅ ใใๆ่จใใพใจใใฆใใใพใใ
ใใใใใผใธใธ ๅใฎABC ๅๅ ่จใธ ๆฌกใฎABC ๅๅ ่จใธ
ใณใณใในใ41ๅ็ฎใงใใใA,B,C,Dใฎ4ๅฎใงใใใEๅ้กใๅ จใๅใใใใ2ๆ้ไปฅไธๆใใฆ่ชๅACใใใ้ ใใฃใใ
ใณใผใใฏใใกใ
ๅ้กๆ้ใใซๆกไปถๅๅฒใไธใใๆธใใ
Rใชใไธ่กใงๆธใใ ใ
cat(365+lubridate::leap_year(as.numeric(readLines("stdin", 1))))
ใณใผใใฏใใกใ
ๅค
ใณใผใใฏใใกใ
ๅ
จๅกใฎไบค้่ฒปใฎๅใ infinite
ใๅบๅใใใ
ใณใผใใฏใใกใ
่ฆใใใใซๅ็่จ็ปๆณใงใใใ
- ้ซๆฉใใใใใงใญ
$S$ ใๅบใใจ่ฒ ใใใฎใงใใงใญใฏๅบใใชใใ$DP[i][S] = - \infty$ ใจใใ - ้ซๆฉใใใใฐใผ
$R$ ใๅบใใจ่ฒ ใใชใใๅใฃใๅๆฐใฏๅขใใชใใๅใๆใฏไบๅบฆๅบใใชใใฎใงใ$DP[i][R] = max(DP[i-1][P], DP[i-1][S])$ ใจใใ - ้ซๆฉใใใใใผ
$P$ ใๅบใใจๅใฃใๅๆฐใ1ๅขใใใๅใๆใฏไบๅบฆๅบใใชใใฎใงใ$DP[i][P] = 1 + max(DP[i-1][R], DP[i-1][S])$ ใจใใ
ใณใผใใฏใใกใ
2ๆ้15ๅใกใใฃใจๆใใฃใฆใใพใฃใใๅ้กใฎๆง้ ใ็่งฃใ้้ใใใฎใๆๅ ใงใใใ
ใในใฆใฎใใใใซใคใใฆ็ฌ็ซใซๅ้กใ่ใใใๅบ้ๅใงใใใใจใใ
2ๆ้ๆใใฆACใใๅ ใฎใณใผใใฏใใใใใใใงๆญฃใใใฎใใฉใใๅใใใชใใๅ ฌๅผ่งฃ่ชฌ2ใ่ชญใใงๅฎ่ฃ ใใใณใผใใฏใใกใ ใ
ใณใณใในใ42ๅ็ฎใงใใใA,B,C,Dใฎ4ๅฎใงใใใEๅ้กใฏๆน้่ฆใใใๅฎ่ฃ ใ้ฒใพใใ2ๆ้่ฟใๆใใฆ่ชๅACใใใ้ ใใฃใใ
ใณใผใใฏใใกใ
ๆขใซๅพ็ฅจใ้ๅๆฐ Yes
ใใใใงใชใใใฐ No
ใงใใใ
ใณใผใใฏใใกใ
ๅ้กใใจใฆใใใใใใใ13ๅ่ฟใๆใใฃใใ
่ฆใใใซๆๅญๅใๅณ90ๅบฆๅ่ปขใใฆใๅ่ปขๅพใฎๆๅญๅใซใคใใฆ
- ๆซๅฐพใฎ็ฉบ็ฝใๅใ้คใ
- ๆซๅฐพไปฅๅคใฎ็ฉบ็ฝใ
*
ใซ็ฝฎใๆใใ
ใจใใใๅ่ปขๅพใฎๆๅญๅใฏ้ทใ
ๅ
ฌๅผ่งฃ่ชฌใซใใ้ใใ็ฉบ็ฝใฎไปฃใใใซ *
ใไฝฟใๆนใ็ฐกๅใงใใใ
ใณใผใใฏใใกใ
Bๅ้กใฎๅพใซใใฎๅ้กใใใฆใ3ๅๆใใใใซ่งฃใใใฎใงๆใใใใ
key
ใ count(key)
ๅใใใใจใ้ฃๆณ้
ๅใซ่ผใใฆใ้ฃๆณ้
ๅใฎใจใณใใชๆฐใ็ญใใงใใใๅๆฐใ0ใซใชใฃใ key
ใ้ฃๆณ้
ๅใใๅ้คใใใ std::multiset
ใไฝฟใใใจใใฆๆใใจใฉใพใฃใใ
ๅ ฌๅผ่งฃ่ชฌใฏใใฉใใใช้ ๅใ็จใใฆใใใ
ใณใผใใฏใใกใ
ๅคๆฌกๅ ็ดฏ็ฉๅใฎ็่งฃๅบฆใในใใงใใใ
ไบๆฌกๅ ็ดฏ็ฉๅใฎๅปถ้ทใงใๅณ็ซฏใใๅบงๆจใๅฅๆฐๅๅคใใใใฎใๅผใใๅถๆฐๅๅคใใใใฎใ่ถณใใใจใใใฎใ็นฐใ่ฟใใๅ ทไฝ็ใซใฏใ็ดฏ็ฉๅใฎใคใณใใใฏในใซใคใใฆไปฅไธใฎ้ใใซใใใๅทฆ็ซฏใ1ๅผใใฎใๅฟใใชใใ
-
$(Rx_{i}, Ry_{i}, Rz_{i})$ ใ่ถณใ -
$(Lx_{i} - 1, Ry_{i}, Rz_{i})$ ,$(Rx_{i}, Ly_{i} - 1, Rz_{i})$ ,$(Rx_{i}, Ry_{i}, Lz_{i} - 1)$ ใๅผใ -
$(Lx_{i} - 1, Ly_{i} - 1, Rz_{i})$ ,$(Rx_{i}, Ly_{i} - 1, Lz_{i} - 1)$ ,$(Lx_{i} - 1, Ry_{i}, Lz_{i} - 1)$ ใ่ถณใ -
$(Lx_{i} - 1, Ly_{i} - 1, Lz_{i} - 1)$ ใๅผใ
ใณใผใใฏใใกใ
ใใณใใใฟใณ่ท้ขใชใฎใง45ๅบฆๅ่ปขใ ใใใจๆใ้ใใใใพใพใณใณใในใใ็ตใใฃใฆใใพใฃใใ45ๅบฆๅ่ปขใ่ฆใใชใใใจใๅใใฃใๅพใๅฎ่ฃ ใซๆ้ๅใใ็ตๅฑ่งฃใใพใง2ๆ้ๆใใฃใใ
-
$y < Y_i$ ใจใชใ้ ็นๆฐ$M$ ใๆฑใใใใใใฏstd::ranges::upper_bound
ใงๆฑใพใใ -
$M = N$ ใชใ$y$ ใฎๅคใๅคงใใใฏใฟใ ใใฆใใใฎใงใ$s = N \times (y - min(Y)) - CY_{N}$ ใงใใ -
$M = 0$ ใชใ$y$ ใฎๅคใๅฐใใใฏใฟใ ใใฆใใใฎใงใ$s = N \times (min(Y) - y) + CY_{N}$ ใงใใ -
$0 < M < N$ ใชใ$y$ ใใๅคใๅคงใใช้ ็นใฏ$CY_{N} - CY_{M} - (N - M) \times (y - min(Y))$ ใ$y$ ใใๅคใๅฐใใช้ ็นใฏ$M \times (y - min(Y)) - CY_M$ ใใใใใฎๅใ$s$ ใงใใใ
ใใใใใฎ
ใปใผๅใใใจใ
ใในใฆใฎ
ใจใซใใ็ดฏ็ฉๅใๅใๅฆ็ใๅคใใใจๆใฃใใๅ ฌๅผ่งฃ่ชฌใฏๅฐบๅใๆณใงใใฃใใใใใณใผใใงใใใ็ขบใใซๅ ฌๅผ่งฃ่ชฌใฎใณใผใใชใๆฉใ ๅฎ่ฃ ใงใใใใ็งใฎๅฎ่ฃ ใฏๆ้ใๆใใใใใใ
ใณใผใใฏใใกใ
ใฝใผใใใฆDPใ ใจๆใฃใใใใฃใฑใใใใ ใฃใใ
ไธๆฌกๆน็จๅผ
ไบใคใฎ่กๅๆผ็ฎใฎ็ฉใฏๅฏๆใงใฏใชใใฎใงใใฉใกใใๅ ใซๆใใใใ้่ฆใงใใใ
ใฎ
ใชใฎใงใ
่กๅใใฝใผใใใใDPใใใ
ใฝใผใใฎไธ็ญๅทใฎๅฎ็พฉใจDPใฎๅๆๅคใซๆฐใไฝฟใใใๅบๆฌๆน้ใฏ่ฆใใฆใใใใใใฏใณใณใในใไธญใซ็ฒใใใใฃใใๅ
ฌๅผ่งฃ่ชฌใซใฏใ็ญใใฏ่กๅใฎๆใๆนใงๆฑบใพใใฎใง
ใณใณใในใ43ๅ็ฎใงใใใA,B,C,Dใฎ4ๅฎใงใใใEๅ้กใฏๆน้ใฏ่ฆใใใๅฎ่ฃ ใ้ฒใพใใ2ๆ้่ฟใๆใใฆ่ชๅACใใใ้ ใใฃใใFๅ้กใฏ15ๅใง่งฃใใใใณใณใในใๅพใงใฏๆ้ ใใงใ่งฃใๅ้กใ้้ใใใ
ใณใผใใฏใใกใ
ๅ ฅๅไพใใฉใใใฆใๅใใชใใฆใๅ ใซBๅ้กใ่งฃใใใ
ๅ ฌๅผ่งฃ่ชฌใฎใฆใผใถ่งฃ่ชฌใซไธๅค้ใไฝฟใฃใ่งฃใๆนใใใใ็ขบใใซๆฅไปใๅคใใใจใใใฏใ่ตทใใฆใใใๅฏใฆใใใใไธๅค้ใงใใใ
ใณใผใใฏใใกใ
Aๅ้กใจๅๆงใใใใใใ่ใใใจใพใใพใๅใใใชใใชใใA,Bๅ้กไฝตใใฆ10ๅ43็งๆใใฃใฆใใใ
ใใใใใฏ่ฒใ
ใใใใใ ใใ็ด ็ดใชๆนๆณใฏ .
ใฎๅๅพใงๆๅญๅใๅๅฒใใฆใๅใๆดๆฐ้จใๅพใๅฐๆฐ้จใซใใใๅฐๆฐ้จใฏๆซๅฐพใใ0ใ็ถใใฆใใ้ใๅ้คใใใๅฐๆฐ้จใ็กใใชใใฐๆดๆฐ้จใ ใๅบๅใใๅฐๆฐ้จใๆฎใฃใฆใใใฐๆดๆฐ้จ .
ๅฐๆฐ้จใๅบๅใใใใใฎๆน้ใงใใฃใใๅๅฎ่ฃ
ใใใจ ใใฎใใ ใซใชใใ
ๅ
ฌๅผ่งฃ่ชฌใ่ชญใใจใๅ
ฅๅใฏๅฟ
ใๅฐๆฐใชใฎใงใๆดๆฐ้จใจๅฐๆฐ้จใๅใใชใใฆใใใใใใงใใ(ๆซๅฐพใฎ .
ใฏ้คใใชใใใฐใชใใชใ)ใ
ๅ
ฌๅผ่งฃ่ชฌใฎๆนๆณใงๆๅญๅ่กจ็พใฎไธธใ่ชคๅทฎใๅ้กใซใชใใใใชใใ boost::multiprecision::cpp_dec_float_100
ใไฝฟใ ใ
ใณใผใใฏใใกใ
ๅถ็ดใใ
ใใฎๆนๆณใฏๅ ฌๅผ่งฃ่ชฌใฎๆน้2ใจๅใใงใใใ
ใณใผใใฏใใกใ
ๅบ็บใใไผๆฉๆใๆ่จๅใใซไธใค็งปใใๅบ็บใใไผๆฉๆใไผๆฉๆ2ใฎใจใใซใๅ
ใฎ็ดฏ็ฉๅใๅๅฉ็จใใใใจใ่ใใ(ใใใใชใใจTLEใใใฎใง)ใไผๆฉๆ2ใใไผๆฉๆ1ใธใฎ่ฆ็ด ใๅ้คใใใใใซใ
ๅๆงใซไผๆฉๆ
ๅ ฌๅผ่งฃ่ชฌใฎใฆใผใถ่งฃ่ชฌ2ใฏไธๅจ่ถ ใใ็จใใฆใใฃใจใใฃใใ่กจ็พใใฆใใใ
ใณใผใใฏใใกใ
2ๆ้่ถ ใใฎๆณฅๆฒผใ ใฃใใๆน้ใฏ่ฆใใฆใใใฎใซใใใคใพใง็ตใฃใฆใๅฎ่ฃ ใ็ตใใใชใใฃใใ
ๅบๆฌๆน้ใฏๆๅใฐใฉใใฎใตใคใฏใซๅ่งฃใงใใใ
ใตใคใฏใซ
ใตใคใฏใซๅคใฎ้ ็นใซใคใใฆใฏใใฎใพใพๆฑใใใจTLEใใใฎใงDFSใใใใใใใใฎใตใคใฏใซ
- ไปๆณจ็ฎใใฆใใ้ ็นใ
$u$ ใจใใใๅๆๅคใฏ$u = v$ ใจใใใ - ใตใคใฏใซใฎ้ ็นใฏๆข็ดขใใชใ
-
$v$ ใใ$u$ ใธใฎใใน$p$ ใๅๅธฐใฎๅผๆฐใซๆใคใDFSใง่ใซๅใใใจใใฏใใน$p$ ใฎๆซๅฐพใซ$u$ ใๅ ใใๅบใๅพใซใในใฎๆซๅฐพใใ$u$ ใ้คใใ -
$|p| \geq k$ ใชใใใในใฎๅพใใใ$k$ ็ช็ฎใฎ้ ็น$w$ ใฎๅคใๆไฝ็ตๆใซใชใใ$P[u] = A[w]$ ใงใใใ -
$|p| < k$ ใชใใใตใคใฏใซใ$v$ ใใ$k-|p|$ ๅ้ๅใใซใใฉใใใใฉใฃใๅ ใฎ้ ็นใ$w$ ใชใใ$P[u] = A[w]$ ใงใใใ
ๅ
ฌๅผ่งฃ่ชฌ1ใฏใใใชใณใฐใ ใฃใใ
ๅ ฌๅผ่งฃ่ชฌ2ใฏ (ใชใใฉใคใณ็ใฎ) level ancestor ใ็จใใ่งฃๆณใงใ็งใฎ่งฃๆณใจใปใจใใฉๅใใงใใใๅ ฌๅผ่งฃ่ชฌ2ใฏfunctional graphใฎใใใใใฎๅผฑ้ฃ็ตๆๅใใตใคใฏใซใใกใใใฉไธใคใใคๆใคใใจใๅฉ็จใใฆใใใใๅฎ่ณช็ใซใฏไธ่จใจๅใใงใใใ็งใฎ็บๆณ่ชไฝใฏใใใฃใใๅฎ่ฃ ๅใ่ถณใใชใใฃใใ
ใณใผใใฏใใกใ
Eๅ้กใใณใณใในใๅพใซ่งฃใใฆใ็ถใใฆFๅ้กใ่งฃใใใ15ๅ3็งๅพใซ่งฃใใฆใใพใฃใใไฝๅบฆ็ฎใๅใใใชใใใEๅ้กใซ็ฑไธญใใใใพใ่งฃใๅ้กใ้ธใถใฎใ้้ใใใๅๅ ่ ใซใจใฃใฆใฎๅ้กใฎ้ฃๆๅบฆใจ่ชๅใซใจใฃใฆใฎๅ้กใฎ้ฃๆๅบฆใใพใ้่ปขใใฆใใใฎใ ใใใใใงใ่งฃใๅ้กใฏไธๆใ้ธใถๅฟ ่ฆใใใใใใใใฏFๅ้กใ่งฃใใชใใจใใๆใ่พผใฟใๆจใฆใชใใใฐใชใใชใใฎใ ใใๆฌ็ชใงFๅ้กใ่งฃใใชใใจ่งฃใ่ชไฟกใใชใใจใใๅ ใ ๅทกใใซใชใฃใฆใใใ
ใใใง็ดฏ็ฉๅใ้ซ้ใซๅใๆนๆณใ่ใใใใปใฐใกใณใๆจใซ่ผใใฆๅบ้ๅใๅใใฐ้ใใใงใใใใปใฐใกใณใๆจใฎๆทปใๅญ
็ด ๆฐใงๅฒใใฎใงใฏใชใใไนฑๆฐใฎ็ฏๅฒใ
ใณใณใในใ44ๅ็ฎใงใใใA,B,C,D,Fใฎ5ๅฎใงใใใๅๅใฏใใฃ้ฃใฐใใฆๆณฃใใFๅ้กใซไปๅใฏๆใใใใGๅ้กใฏๆ้ใฏใใฃใใๅ จใ่ฆๅฝใใคใใชใใฃใใ
ใณใผใใฏใใกใ
ๅ่ปขๆไฝใชใฎใง std::rotate
ใงๆธใใใ0-based indexingใงใๅ
ใ
ใฎๅฑฑใฎไธใใ std::rotate
ใ็ดนไปใใใฆใใใ
ใณใผใใฏใใกใ
ๅ้กๆ้ใใซๅฎ่ฃ
ใใฆใTLEใใชใใ
ใณใผใใฏใใกใ
ๅ ฅๅไพใๅใใใซ็ฆใฃใใ
- ๅฐใชใใจใ
$x$ 1็จฎ้กใซใคใใฆ1ใใกใผใธใไธใใใฎใงใ$U - T + 1$ -
$x$ ใ3ใฎๅๆฐใชใไธใใ่ฟฝๅ ใฎใใกใผใธ$2 \times ( \lfloor U / 3 \rfloor - \lfloor (T - 1) / 3 \rfloor)$
ๅ
ฌๅผ่งฃ่ชฌใฏใ
ใณใผใใฏใใกใ
Cๅ้กใ่งฃใใชใ็ฆใใใใAuxiliary Treeใฎใณใผใใใใ็่งฃใใชใใพใพ้ฉ็จใใๅ ฅๅไพใฎไธ้จใฏ้ใฃใใWAใฎๅฑฑใ็ฏใใใใจใใใๅ ฅๅไพใใๅใฃใฆใใชใใฃใใๅใฟ่ถณใใใใใCๅ้กใ่งฃใใชใใDๅ้กใ่งฃใๆนใๆใใคใใชใใจ็ฆใใใใใใใใใชใใฃใใใใใฉใผใใณในใฏใใฃใจ่ฏใใฃใใใ้ฃๆไธญใง่ชไฟกใ็กใใจ่ฒ ใฎในใใคใฉใซใซๅ ฅใใ
่งฃใคใพใ
DFSใชใฎใง้ ็นใใใฉใๅๆฐใฏ
ๅฎใฏๅ ธๅ90-035ใฎAuxiliary Treeใฎใณใผใใซ1่ถณใใใใฎใ ๆญฃ่งฃ ใ ใฃใใใ ใจใใใฐใปใผๆญฃ่งฃใ ใฃใใฎใ ใใใใใใ้้ใฃใใณใผใใซๅคใใฆๆๅบใใใฎใฏใใใฏใCๅ้กใ่งฃใใชใ็ฆใใใใฉใใใใฆใใใ
ใณใผใใฏใใกใ
ไน ใใถใใซGrundyๆฐใABCใง่ฆใใARC ๆฐดdiffใๆ่ฟ่งฃใใใฎใงใไปๅใฎใใใชๅ ธๅ็ใชGrundyๆฐๅ้กใซๅฏพๅฆใงใใใใใๅฐใGrundyๆฐใฎๅ้กใ่งฃใๆนใใใใ ใใใ้ๅๆฌใซ่ผใฃใฆใใใใคARC ๆฐดdiffใง้ ปๅบใใคABC ๆฐดdiffใงใใพใ่ฆใชใใขใซใดใชใบใ ใจ่จใใฐใGrundyๆฐใจไธๅค้ใชใฎใงใไธๅค้ใ้ใใๆนใใใใใใใใชใใ
ๅงใใฏ็ดๆฐใฎๆฐใ ใจๆใฃใฆๅ ฅๅไพใๅใใชใใฃใใฎใง็ด ๅ ๆฐใฎๆฐใซๅใๆฟใใใACใใใ็ขบใใซ1ไปฅๅคใงๅฒใใจใใๆๅคงใงๆฎใไฝๅๅฒใใใใฏ็ด ๅ ๆฐใฎๆฐใงใใใ็ด ๅ ๆฐ1ๅใงๅฒใใฐๆฎใๅๆฐใ1ๆธใใ
ใใใจ่งฃใใฐใใฎๅ้กใฏNimใจGrundyๆฐใงใใ
ใคใใซใณใณใในใไธญใซFๅ้กใๆญฃ่งฃใงใใใFๅ้กใ่ชญใๆ้ใใใฃใใใชใใจ็ฆใฃใฆๅ้กๆใ่ชญใฟๅฟใใใใจใใ็ใใใใใซใใใใ
ใณใณใในใไธญใซใฏ48ๅใใฃใใใชใใในใ็กใใฃใใไปๆฅใ6ๅฎใฏ้ ใใฃใใ
ๅ้กๆใฎๅคชๅญใฎ้จๅใ้่ฆใชๅถ็ดใงใใใใฏใจใชๅฝใใไน็ฎใฏ60ๅใใใงใใชใใใใใใๅถ็ดใฎไธใๆนใฏใใฃใฑใๅใใใชใใฃใใๅ
ฌๅผ่งฃ่ชฌ1ใ่ชญใใงใใปใฐใกใณใๆจใไฝฟใฃใ่งฃๆณใฏ ใใกใ ใใปใฐใกใณใๆจใซใฏใ
ใฏใจใช1,2ใฏ
-
$l \geq r$ ใชใ็ตไบใใใ่งฃ่ชฌใซใใ้ใ60ๅใซใผใใใใจ็ตไบใใใ -
$l$ ไปฅไธใง$B < 2$ ใๆบใใ็ฏๅฒใฎๅณ็ซฏ$p \geq l$ ใ่ฆใคใใใsegtree:max_right
ใไฝฟใใ -
$S$ ใซ$A[l..min(r-1 , p)]$ ใ่ถณใ -
$p < r$ ใชใ$max(S + A[p], S \times B[p])$ ใง$S$ ใ็ฝฎใๆใใ -
$l$ ใ$p + 1$ ใซใใ
้ ๅปถใปใฐใกใณใๆจใซ่ผใใใใจใใฆๅคฑๆใใใฎใ ใใๅ ฌๅผ่งฃ่ชฌ2ใฎ้ใไธๆฌก้ขๆฐใ่ผใใฆๅๆใใใฐใใใใใใ็งใซใฏใจใฆใใณใณใในใไธญใซๅฎๆใใใใใๆฐใใใชใใ
ใณใณใในใ45ๅ็ฎใงใใใA,B,C,Dใฎ4ๅฎใงใใใEๅ้กใฏๅถ็ดใ่ฆ่ฝใจใใฆ่งฃใใใFๅ้กใ่ชญใใ ใๅใใใชใใฃใใ
ใณใผใใฏใใกใ
ใณใผใใฏใใกใ
ๅทฆๆใจๅณๆใฏใใใใ็ฌ็ซใซ่ใใฆใใใ
ๅทฆๆใงๆผใ้ต็คใ ใ่ใใใใฎๅบงๆจใ
ๅณๆใซใคใใฆใๅๆงใซๆฑใใไธกๆใฎ็ฒๅดๅบฆใฎๅใ็ญใใงใใใ
ใณใผใใฏใใกใ
ใใฃใฆ
ใใใใใในใฆใฎใฉใณใซใคใใฆ่ถณใใ้ทใ1ใฎๆฐๅใฏๅธธใซ็ญๅทฎๆฐๅใชใฎใง
ใณใผใใฏใใกใ
ใใใซใDPใงใใใ
ใใใพใงๅใใใขใณในใฟใผใๅถๆฐใๅฅๆฐใใงๅ ดๅๅใใใฆ็ถๆ
้ท็งปใใใ
ไปฅไธใฎ็ถๆ ้ท็งปใ่กใใ
-
$DP[i+1][1] = max(DP[i][1], DP[i][0] + A_i)$ ใคใพใ้ใใใจ็ต้จๅคใๅพใใใใๅใใใ$X$ ็ต้จๅคใๅพใใ -
$DP[i+1][0] = max(DP[i][0], DP[i][1] + A_i + A_i)$ ใคใพใ้ใใใจ็ต้จๅคใๅพใใใใๅใใใ$X + X$ ็ต้จๅคใๅพใใ
็ญใใฏ
ใณใผใใฏใใกใ
ๅถ็ดใ่ฆ่ฝใจใใใ
ใฏใจใชใ่ชญใๅใซใใฏใผใทใฃใซใใญใคใๆณใงไปปๆใฎ2้ ็น้ใฎ่ท้ขใๆฑใใใๅๆๅคใฏๅณถ่ช่บซใธใฎ่ท้ขใ0ใ็ดๆฅๆฉใงใคใชใใฃใฆใใๅณถใฏ่คๆฐใใๆฉใฎๆ็ญๆ้ใใใไปฅๅคใฎๅณถใฏ็ก้ๅคงๆ้ใจใใใ
ใคใใซๅใฏใจใชใ็ฌ็ซใซๅฆ็ใใใใใงใซ่ฟฐในใ้ใใ
ใณใผใใฏใใกใ
ๅ จใๅใใใชใใฎใง่งฃ่ชฌACใใใ
ใใใณใคใณใๆพใฃใๅพใซๆฌกใฎใณใคใณใๆพใใจใใๅๅพ้ขไฟใ็ตในใฐใใใฎใ ใใไธๆใๆนๆณใใฟใคใใใTLEใใใ่งฃ่ชฌใซใใใใใซLISใงๆฑใใใ
่งฃ่ชฌใ่จใๆใใใจใใใไฝ็ฝฎ
ใใใงๅใฎใณใคใณใ้ธใถใฎใLISใ ใใ็ธๅคใใใLISใฎ่งฃใๆนใๅใใใชใใฎใงใปใฐใกใณใๆจใง่งฃใใใ
- ๅบ้maxใ่ฟใใปใฐใกใณใๆจ
$T$ ใไฝใใ่ฆ็ด ๆฐใฏ$W$ ใงใ่ฆ็ด ใฏใใๅใซใใใฆใใใพใงๆพใฃใใณใคใณใฎๆฐใงใใใ - ไปๅใฏLISใฎ้ทใใ ใใงใชใLISใๅ็พใใใฎใงใๆทปใๅญ
$i=0..(N+1)$ ใฎใณใคใณใฎๅใซๆพใฃใใณใคใณใฎๆทปใๅญ$prevs[i]$ ใใใๅใงๆๅพใซๆพใฃใใณใคใณใฎๆทปใๅญ$cols[1..W]$ ใ็ฎก็ใใใ - ๅๆๅคใฏๅทฆไธใฎใณใคใณใๆพใฃใ็ถๆ
ใงใใใ
$T[] = 0, T[1] = 1$ ,$prevs[] = -1, prevs[0]=-1$ ,$cols[] = -1, cols[0]=0$ ใจใใใ
ใณใคใณ
- LISใๆงๆใใใใใใพใงๆพใฃใๆฐใๆใๅคใใณใคใณใ
$v$ ๅใงใใใจใv=segree.prod(0,c+1)
ใงๆฑใพใ -
$v$ ใจใชใๆๅทฆๅใฎๆทปใๅญ$pos$ ใฏ ใpos=segtree.max_right(0, x < v)
ใงๆฑใพใ - ๅใซๆพใใณใคใณใฏ
$prev = cols[pos]$ ใงใใ - ใใฎใณใคใณใฎๅใซ
$prev$ ใๆพใใใจใใ$prevs[i] = prev$ ใง่จญๅฎใใ - ๅ
$c$ ใงใใฎใณใคใณใๆพใฃใใใจใใ$cols[c] = i$ ใง่จญๅฎใใ - ๆพใฃใใณใคใณใฎๆฐใ
segtree.max_right(c, v+1)
ใง่จญๅฎใใ
ใณใคใณ
ใณใณใในใ46ๅ็ฎใงใใใA,B,C,D,Eใฎ5ๅฎใงใใใEๅ้กใ่ฆใใฟใคใคACใใฆhighestใFๅ้กใ่ชญใใ ใๅใใใชใใฃใใ
ใณใผใใฏใใกใ
ใณใผใใฏใใกใ
ๅพใฏ
ใณใผใใฏใใกใ
ๅ ้ฑใฏๅถ็ดใ่ฆ่ฝใจใใฆๆณฃใใใฎใงใไป้ฑใฏๅถ็ดใใใ่ชญใใ ใ
1ๅ้ท็งปใใใใจใซใ
ใณใผใใฏใใกใ
ใใผใฟๆง้ ใฏใใๆตฎใใใ ใฎใงไธๅฏงใซๅฎ่ฃ ใใใใใใงๆ้ใ็จผใใ ใฎใงEๅ้กใ้ใซๅใฃใใ
std::vector<std::set<Num>>
ๅใฎๅคๆฐใ็จๆใใฆใๅ
-
$(r,c)$ ใซๅฃใใใใฐใๅใจ่กใใ้คใใๅฃ$(r,c)$ ใฏ$Rows$ ใจ$Cols$ ใฎไธกๆนใใใใไธกๆนใจใ็กใใใฉใกใใใชใฎใงใๅ่ ใใใใฐๅพ่ ใฎๅญๅจใใงใใฏใฏ็็ฅใงใใใ - ใใใงใชใใใฐ
$(r,c)$ ใฎๅทฆๅณใฎๅฃใๆขใใฆ้คใใ$r$ ่กใซๆณจ็ฎใใใRows[r].lower_bound(c)
ใไฝฟใฃใฆ$c$ ใฎ็ดๅพใฎๅใ่ฆใคใใใคใใฌใผใฟใไธใคๅใซใใฆ$c$ ใฎ็ดๅใฎๅใ่ฆใคใใใ็กๅนใชใคใใฌใผใฟใใขใฏใปในใใชใใใใซๆฐใไปใใใ$Rows$ ใใๅฃใ้คใใๅพใซใ$Cols$ ใใใๅฃใ้คใใ - ๅๆงใซ
$(r,c)$ ใฎไธไธใฎๅฃใCols[c].lower_bound(r)
ใงๆขใใฆ้คใใ
4ๆนๅใใณใใใงไฝใฃใใณใผใใฏๅฎ่ฃ
ใใใใใใใใคใใฌใผใฟๅจใใฎๆชๅฎ็พฉๅไฝใ่ธใใงใใพใฃใใใ่ฝใก็ใใฆๆใใใใณใใใๅฐใๆธใใใจ ใใใชใ ใๅ
ฌๅผ่งฃ่ชฌใฏ std::prev
ใไฝฟใใๅฃใฎๆฐใฏๆๅพใซใพใจใใฆๆฐใใใใจใงใณใผใใ็ญใใใฆใใใ
ใณใผใใฏใใกใ
C,Dๅ้กใง็จผใใ ๆ้ใง่งฃใใใ
DPใ ใจๅใใใใ็ดฏ็ฉๅใใใๆใใซ้ฃๆณ้ ๅใซ่ผใใชใใจTLEใใใใ ใจๅใใใ
ๅๅฆ็ใจใใฆใ็ดฏ็ฉๅ
ๅณ็ซฏใ
ๆๅพใซใ
ๅ ฌๅผ่งฃ่ชฌใจๅใ่งฃใๆนใ ใจๆใใใ็ดๆ็ใๅใใฆใ่จ่ใจใณใผใใซใใใฎใๅคงๅคใงใใใ
ใณใผใใฏใใกใ
ใณใณใในใไธญใฏใชใใในใ็กใใ20ๅ้้ ไฝ่กจใ็บใใใใใชใใฃใใ
่งฃ่ชฌใ่ชญใใ ใใ้กๆใ็่งฃใใใใจใ่งฃๆณใ็่งฃใใใใจใ้ฃใใใไปใฎๆนใฎใณใผใไพใๅ่ใซใ0-based indexingใซๅคๆดใใใใ4971 msใงใใใใ้ใซๅใฃใใไบๅๆข็ดขใฎไธญใงmalloc (std::vectorใnew)ใใใจTLEใใใฎใงใไธๅฟ ่ฆใซmallocใ็นฐใ่ฟใใฆใฏใใใชใใใจใๅญฆใใ ใ
ใณใณใในใ47ๅ็ฎใงใใใA,B,C,D,Eใฎ5ๅฎใงใใใCๅ้กใซๆ้ใๆใ้ใใGๅ้กใฏๅ ฅๅไพใ ใ้ใฃใใCๅ้กใฎไฝใใฎ่งฃใใชใใซๆซใใใใซใชใฃใใใ็ตๆใฏhighestใ ใฃใใๅ่ฒ ใฏๆๅพใพใง่ซฆใใฆใฏใชใใชใใ
ใณใผใใฏใใกใ
ๅ
ฅๅใซ็็พใ็กใใใจใใใใจใ้่ฆใงใใใใใฃใฆ
ใณใผใใฏใใกใ
ใใฉใฐ Yes
ใใคใใฉใฐใ็ซใฆใใใใใงใชใใใฐ No
ใงใใใ
ใณใผใใฏใใกใ
้ ็นใฎ่ชญใฟๆฟใใฏ
ใณใผใใฏใใกใ
็ดฏ็ฉๅ std::lower_bound
, std::upper_bound
ใงไฝ็ฝฎใๅใใใฎใงใไฝ็ฝฎใใ
ๅบงๆจๅง็ธฎใใใณใผใใไฝฟใฃใฆใใชใใฃใใใไฝฟใใชใ ใใ ๆธใใ
ใณใผใใฏใใกใ
ใปใฐใกใณใๆจใๅใๅบใใใใพใใฃใใ้ใฃใใ
ๅพใใใ่ใใใ
ใใฎใใจใใ
ๅ ฌๅผ่งฃ่ชฌใฏ ไฝไบ่ฑก ใงใใใไธ่จใไฝไบ่ฑกใงใใใDPใใใใ
ใณใผใใฏใใกใ
ๆใใ ใ่งฃใใชใใฃใใ
ๅ ฌๅผ่งฃ่ชฌ1ใใฎใพใพใๅฎ่ฃ ใใใจไธ่จใฎใชใณใฏ้ใใซใชใใ
ใณใณใในใ48ๅ็ฎใงใใใA,B,C,D,Eใฎ5ๅฎใงใใใREใซTLEใจใใญใใญใ ใฃใใFๅ้กใ็ฟๆ่งฃใใใ
ใณใผใใฏใใกใ
.
ไปฅๅคใๅบๅใใใ
ใณใผใใฏใใกใ
3้ฒๆฐใซใใฆใ
ใณใผใใฏใใกใ
ๅคๆดใใๆๅญใฎๅจ่พบใ ใๆดๆฐใใใฐใใใ
ๅๆๅคใจใใฆใ ABC
ใใฉใใ่ชฟในใใใใฎๅใๅๆ่งฃใงใใใ
ใฏใจใชใง ABC
ใใฉใใใงใใใใใใๅทฎๅใๅใฃใฆๆดๆฐใใใใใฎ3ๆๅญใ
ๅฎ่ฃ ใใใใใซใใใจ ใใฎใใใซ ใชใใ
ใณใผใใฏใใกใ
LISใในใฟใใฏใๅ จใๅใใใใๅ ใซEๅ้กใ่งฃใใใ
ๅพใฏใใใๆณใๅ็ใใฆใ
ๅ
ฌๅผ่งฃ่ชฌใฏ ในใฟใใฏ ใ็จใใฆใใใ
ใณใผใใฏใใกใ
Dๅ้กใใ็ฐกๅใ ใฃใใ
้ ็นๅๅฃซใๅฐ้ๅฏ่ฝใงใใใใจใฏUnion-findๆจใใใๅฐ้ๅฏ่ฝใช้ ็น็ชๅทใฎ้ๅใฏ std::set
ใง็ฎก็ใใใ้ ็น็ชๅทใฎ้ๅใฏUnion-findๆจใฎไปฃ่กจๅ
ใซๆใใใใ
ใฏใจใช1ใซใคใใฆใฏใใใใงใใผใธใใฏใใคใพใๅคงใใช std::set
ใๅฐใใช std::set
ใๅธๅใใฆใ std::swap
ใใใฎใๅฎ็ณใงใใใใฎใ ใใ
ใฏใจใช2ใซpolicy based ordered setใไฝฟใใจใณใผใใ็ญใใชใใใใ std::set::rbegin()
ใใใคใใฌใผใฟใๅใใฆใ ้ใซๅใ ใ
ใณใผใใฏใใกใ
A..Eๅ้กใใใพใใซ้ ใใณใณใในใไธญใซ่งฃใๆ้ใ็กใใฃใใฎใงใ็ฟๆ่งฃใใใ
ใใใชใณใฐใ ใจๆใฃใใ้ใฃใใฎใ ใใใใใฏๅถ็ดใใๅใใใใจใงใใใ็ธๅคใใใใๅถ็ดใใๅบ้กๆๅณใ่ชญใฟๅใใชใใ
ใฐใฉใใๅจๅใใฆใใใใจใซๆณจ็ฎใใใ่ฟฝๅ ใฎ
ใใใพใงๅใใใฐใ่ฟฝๅ ใฎ
ใใฎใจใ
ๆๅพใซ
ใณใณใในใ49ๅ็ฎใงใใใA,B,C,Dใฎ4ๅฎใงใใใDๅ้กใฏๆดๅใใฆใใใใฉใคใใฉใชใซๆใใใใEๅ้กใฏ2ๆ้็ตใฃใฆใ่งฃใใชใใฃใใ
ใณใผใใฏใใกใ
ๆๅญๅใ12ๅๅบๅฎใงใใใใจใซๆณจๆใใใ
ใณใผใใฏใใกใ
A..Z = 1..26
ใ
ใณใผใใฏใใกใ
ใณใผใใฏใใกใ
่ๅฏใๆใใฃใใใๆดๅใใฆใใใPotential DSUใฉใคใใฉใชใซๆใใใใใฉใคใใฉใชใใฆใใใใในใใใฆใใคใงใไฝฟใใใใใซใใฆใใใใจใใใฎใฏใใญใฐใฉใใจใใฆ็ใฃๅฝใชๆฏใ่ใใงใใฃใใใใญใฅใกใณใใใใฃใใๆธใใฆใใใฐใๅทฎๅใฎๅใใใฉใฃใกใๅใใใๅ ฅๅไพใๆญฃใใใใฉใใๆฉใใฎใ้ฟใใใใใใใใใชใใ
้ฃ็ตๆๅใซใคใใฆใใ้ ็นใฎๅคใ0ใซๆฑบใๆใกใใฆใใฐใฉใใDFSใใใฐๆฎใใฏๆฑใพใใจๅใใฃใใใใใใฐใฉใใฎๅใใซๅใใใฆใฉใใใใฐใใใๅใใใชใใชใฃใใไปๆนใ็กใใฎใงPotential DSUใฎในใใใใใๅใๅบใใฆACใใใ้ใฟใฎๅทฎใฎๅใใ้ใซ่งฃ้ใใฆใใพใๅฑใใWAใใใจใใใ ใฃใใใๆๅบๅใซๆฐใไปใใฆACใใใPotential DSUใไฝฟใใชใไฝฟใใงใใฃใจๆฉใๆๅบใใใฐใใใฉใไธใใฃใใใใใใซใใฃใ้ฟใใใซใฏใใใใใใฎๆ ้ใใๅฟ ่ฆใงใใใ
Eๅ้กไปฅ้ใ่งฃใใชใใฃใใฎใงใ็ตๅฑใใใๆๅพใฎ1ๅใซใชใฃใใใฐใฉใใซใฏๅใใ้ใฟใใใใ้ใใฎ้ขไฟใฏ้ๅใใซใงใใใใจใซๅ จใๆฐใไปใใชใใฃใใPotential DSUใฎในใใใใใๆๅ ใซใใใจใใ้ใ ใใงใฌใผใใฃใณใฐใไธใใใใซๆธใใ ใใจใฏใใใๆบๅใใงใใฆใใใใ้ใๅใใใจใใใใใ
ๅ ฌๅผ่งฃ่ชฌ้ใใ้ๅใใฎๆใๅผตใใจBFSใง ๆฑใพใ ใ
ใณใผใใฏใใกใ
ไบๅๆข็ดขใจ็ดฏ็ฉๅใใใใใๅใใใใ็ตๅฑ่ชๅใงใฏ่งฃใใชใใฃใใไธ่จใฎใณใผใใฏใ่งฃ่ชฌใ std::ranges::partition_point
ใงๆธใ็ดใใใ ใใงใใใ
ๅ
ฌๅผ่งฃ่ชฌใฎใณใผใใ่ชญใฟ่งฃใใชใใใ่ชๅใฎ่จ่ใง ่จใๆใใ ใ
ๅๅฆ็ใจใใฆ
ใใใใใฎๅ่ฃ่
ใใฎใใใช
- ็พๅจๅพ็ฅจใ
$b$ ไปฅไธใฎๅ่ฃ่ ใฎๆฐใ$right$ ใจใใใใใใฏ$A$ ใไบๅๆข็ดขใใใจๅใใใ - ็ฅจใ่ฟฝๅ ใใใๅ่ฃ่
ใฎๆฐใ
$N$ ใใๅผใใๆฐใ$left$ ใจใใใใใใฏ็ดฏ็ฉๅใ้คใ็ฏๅฒใฎๅณ็ซฏใงใใ(1ใใใใใจใซๆณจๆ)ใ- ๅ่ฃ่
$i$ ใๅๅคใคใพใไธไฝ$M$ ไฝใซๅ ฅใฃใฆใใชใใใฐ$N - M$ ใจใใใๅๅ ใฎไบบ$M-1$ ไบบใ$b+1$ ไปฅไธใซใชใใใใซใใไธใใใฆใๅ่ฃ่$i$ ใฏ$b$ ็ฅจใง$M$ ไฝใซใชใใ - ๅ่ฃ่
$i$ ใๅๅ ใคใพใไธไฝ$M$ ไฝใซๅ ฅใฃใฆใใใฐ$N - M - 1$ ใจใใใๅ่ฃ่$i$ ใ้คใๅๅ ใฎไบบ$M-2$ ไบบใจ$M+1$ ไฝใฎไบบใ$b+1$ ไปฅไธใซใชใใใใซใใไธใใใฆใๅ่ฃ่$i$ ใฏ$b$ ใง$M$ ไฝใซใชใใ
- ๅ่ฃ่
-
$left < right$ ใชใใๅ่ฃ่$i$ ไปฅๅคใง$left$ ไปฅ้ใฎๅ่ฃ่ ใ$b$ ็ฅจใใใใใ่ถ ใใ($b+1$ ็ฅจๅพใ)ใใใฎ็ฅจๆฐ$s$ ใๆฑใใใใใใฏ$s = (right - left)(b + 1) - (cumsum[right] - cumsum[left])$ ใงใใใ -
$left \leq i < right$ ใชใใๅ่ฃ่$i$ ใไธ่จใง$b+1$ ็ฅจใซใชใฃใฆใใพใฃใใฎใงใ$s$ ใใ1ๅผใใฆ$b$ ็ฅจใซใใใใใใงใชใใใฐใๅ่ฃ่$i$ ใ$y$ ็ฅจ็ฒๅพใใฆ$M$ ไฝใซใชใใฎใงใ$s$ ใซ$y$ ใๅ ใใใ
ใณใณใในใ50ๅ็ฎใงใใใA,B,C,Dใฎ4ๅฎใงใใใEๅ้กใฏ78ๅๆใใฆ่งฃใใใจใใงใใใใณใณใในใๅพใซACใใใๆใใงใซ้ ใใงใใใ
ใณใผใใฏใใกใ
std::string::rfind
ใง่งฃใใใๅ
ฅๅใ4ๆๅญไปฅไธใชใฎใงใ std::string::substr
ใงใใใฃใ ใ
ใณใผใใฏใใกใ
0
ใงใใใใใใงใชใใใฐ
ใณใผใใฏใใกใ
ใณใผใใฏใใกใ
้ ๅ็ทๅๆใๅใณใใใๅ จๆข็ดขใงใใใ
ใฉใฎ็ทๅใใฉใฎ้ ็ชใงๆใใใใ
ใณใผใใฏใใกใ
78ๅใใใฎใซๆญฃ่งฃใงใใใใณใณใในใๅพใซๆญฃ่งฃใใใ
่ฃฝ้ ่ฝๅ
ๅ้กใฏ่ฃฝ้ ่ฝๅ
ใณใณใในใไธญใซ WAใใ ่งฃๆณใ่จใใ
ๅไพใฏใ
ใฉใใใใณในใ
ๅ
ฌๅผ่งฃ่ชฌใ่จใๆใใใจใใใชใใๆฉๆขฐ
-
$PB \geq QA$ ใชใไธ่จใฎๆนใใณในใใๅฎใใฎใงใใใ็ญใใฎๅ่ฃใงใใใ -
$PB < QA$ ใชใๆฉๆขฐ$S$ ใ ใ่ฒทใฃใฆๆฉๆขฐ$T$ ใ่ฒทใใชใใใใใฏๆฉๆขฐ$T$ ใ$b=[0..A)$ ๅฐ่ณผๅ ฅใใฆใๆฎใใๆฉๆขฐ$S$ ใซใใๆข็ดขใฎไธ้จใงใใ($b=0$ ใ่ฉฒๅฝใใ)ใ
ๅๆงใซๆฉๆขฐ
ใณใณใในใ51ๅ็ฎใงใใใA,B,D 3ๅฎใฎๆจๆใงใใใCๅ้กใๆจใฆใฆEๅ้กใซ่ณญใใใฎใ่ฃ็ฎใซๅบใใ
ใณใผใใฏใใกใ
ๅ
้ ญใใ
ใณใผใใฏใใกใ
ๅ
ฅๅใฎๆๅพใซๅ็นใๅ ใใฆใ็ทๅ้ใฎ่ท้ขใ่ถณใใฆใใใ
ใณใผใใฏใใกใ
ๅ่ฆใงๅ จใ่งฃใใใซD,Eๅ้กใซ่กใฃใใใใใๅฎๅ จใซ่ฃ็ฎใซๅบใใ
ๅบงๆจ่ปธใๅ่ปขใใฆๅทฆๅณใซๅ่ปขใใๆไฝใฏใๆ่จๅใใซ90ๅบฆๅ่ปขใใใฎใจๅใใงใใใใใฎๅ่ปขใฏๅคใใ
Eๅ้กใซ่ณญใใใๆ้ๅใใซใชใฃใฆใใพใใใณใณใในใใ็ตใใฃใๅพใซไธ่จใซๆฐใใคใใใๅฎๅ จใซๅ้ก้ธใณใ้้ใใใฎใ ใใDๅ้กใซๆ้ใๆใ้ใใฆไฝ่ฃใใชใใฃใใ
ใณใผใใฏใใกใ
ๆๅญใฏ26็จฎใใใชใใฎใงใใใใๅฅใซ่ใใฆใใใไพใใฐ A
ใๅบ็พใใไฝ็ฝฎใ AxA
ใจใใๅๆใฏไฝใใชใใฎใง0้ใใงใใใใใใงใชใใใฐ
็ดฏ็ฉๅใไธๆใไฝฟใฃใฆ A
ใซใคใใฆ็ญใใๆฑใพใใๅพใฏๆๅญ26็จฎใซใคใใฆๆฐใใฆ่ถณใใจ็ญใใงใใใ
ๅฅใฎ่ฆๆนใใใใจ ใใ ใชใใๅบ้
-
$P_i$ ใใๅทฆใใใใฆ$P_{i+1}$ ใใๅณใง็ตใใๅๆใๅทฆใซ$i-1$ ๅใฎ$P$ ใๅณใซ$k-i-1$ ๅใฎ$P$ ใๅบ้้ทใ$W_i = P_{i+1} - P_i$ ใชใฎใงใ็ตใฟๅใใใฏ$(i-1)(k-i-1)W_i$ ้ใใงใใใ -
$P_i$ ใใๅทฆใใใใฆ$P_{i+1}$ ใง็ตใใๅๆใๅทฆใซ$i-1$ ๅใฎ$P$ ใๅบ้้ทใ$P_{i+1} - P_i - 1$ ใชใฎใงใ็ตใฟๅใใใฏ$(i-1)(W_i-1)$ ้ใใงใใใ -
$P_i$ ใงๅงใพใฃใฆ$P_{i+1}$ ใใใณใใใใๅณใง็ตใใๅๆใๅณใซ$k-i$ ๅใฎ$P$ ใๅบ้้ทใ$P_{i+1} - P_i$ ใใใ ใ$(P_i,P_{i+1}]$ ใซใคใใฆ1ๅผใใฎใงใ็ตใฟๅใใใฏ$(k-i)W_i-1$ ้ใใงใใใ
ไธ่จใฎๅผใๅฐๅบใใใฎใซๆ้ๅใใ21:47:48ใซACใใใ็ดฏ็ฉๅใไฝฟใใชใ็ญใใใณใกใณใใขใฆใใใใฆๆฎใฃใฆใใใฎใ็ใ ใใใใใใงๆฎใๆ้ใ็กใใชใใEๅ้กใง้่ปขใใใCๅ้กใ้ ่งฃใใใใใฎไบๆใซใชใใๅ่ ใ้ธใใงๅ ฑๅใใซ็ตใใฃใใ
ไธ่จใฎใขใซใดใชใบใ ใฏ std::lower_bound(position)
ใจ begin(), end()
ใฎๅทฎใๆฑใใใจ
ใณใผใใฏใใกใ
ใณใณใในใไธญใซๆน้ใฏ็ซใฃใใใ่จญ่จใไธๆใใใใชใใฃใใฎใง็ฟๆACใใใ
ใพใ้ธๆใฎๅผทใใฎๅใ -1
ใๅบๅใใใไปฅไธใๅ
จใใผใ ใฎๅผทใใ
ๅๆ็ถๆ
ใฎใใผใ 2ใฎๅผทใใ
- ใใผใ 1ใใใใผใ 2ใซ็งป็ฑใใใ
$DP[S+B][T] = min(DP[S+B][T], DP[S][T] + 1)$ ใงใใใ - ใใผใ 1ใใใใผใ 2ใซ็งป็ฑใใใ
$DP[S][T+B] = min(DP[S][T+B], DP[S][T] + 1)$ ใงใใใ - ใใผใ 2ใใใใผใ 1ใซ็งป็ฑใใใ
$DP[S-B][T] = min(DP[S-B][T], DP[S][T] + 1)$ ใงใใใ - ใใผใ 2ใใใใผใ 3ใซ็งป็ฑใใใ
$DP[S-B][T+B] = min(DP[S-B][T+B], DP[S][T] + 1)$ ใงใใใ - ใใผใ 3ใใใใผใ 1ใซ็งป็ฑใใใ
$DP[S][T-B] = min(DP[S][T-B], DP[S][T] + 1)$ ใงใใใ - ใใผใ 3ใใใใผใ 2ใซ็งป็ฑใใใ
$DP[S+B][T-B] = min(DP[S+B][T-B], DP[S][T] + 1)$ ใงใใใ
็ญใใฏ -1
)ใ
็งป็ฑใใใฎใงใฏใชใใๅใกใณใใใใผใ ใซๅฒใๅฝใฆใๅๆๅคไปฅๅคใชใ็งป็ฑๅๆฐใๆฐใใใจใใๆน้ใซใใใจใDPใฎๆทปใๅญใ
ใณใผใใฏใใกใ
็ฟๆ่งฃใใใEๅ้กใจๅๆงใใชใใจใชใ่งฃๆณใ่ฆใใใ ใใงใฏๆญฃ่งฃใงใใชใใ
ใฏใผใทใฃใซใใญใคใๆณใๅๅฒๅฎ่กใใใจWAใจTLEใๅ้ฟใงใใใๆๅใซใฏใจใชๅ ่ชญใฟใใฆใ้่กๆญขใใฎ้่ทฏใ็ขบๅฎใใ็ถๆ ใงใ้ฝๅธ้ใฎ่ท้ขใใฏใผใทใฃใซใใญใคใๆณใงๆฑใใใๆฌกใซใฏใจใชใ้ๅ็ใใใ
ใฏใจใช1ใฏ้่ทฏใฎ้่กๆญขใใ่งฃ้คใใใ
ใฏใจใช2ใฏ้ฝๅธ้