Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

867 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ๆง˜ใ€…ใชใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใฎๅฎŸ่ฃ…ไพ‹

ใƒ‡ใƒผใ‚ฟๆง‹้€ ใ‚„ๆ•ฐ่ซ–็š„ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใพใงใ€ๆง˜ใ€…ใชๅˆ†้‡Žใฎใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใŸใกใ‚’ C++23 ใงๅฎŸ่ฃ…ใ—ใฆใ„ใพใ™ใ€‚
ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ็ณปใฎ็ ”็ฉถ้–‹็™บใซใŠใ„ใฆ่จˆ็ฎ—ๆฉŸๅฎŸ้จ“ใŒๅฟ…่ฆใซใชใ‚‹ๅ ด้ขใ‚„ใ€ ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐใ‚ณใƒณใƒ†ใ‚นใƒˆใซๅ‚ๅŠ ใ™ใ‚‹ๅ ด้ขใชใฉใ‚’ๆƒณๅฎšใ—ใฆใ€ ใ€ŒๅฎŸ่ฃ…ไพ‹ใ€ใพใŸใฏใ€Œใƒฉใ‚คใƒ–ใƒฉใƒชใ€ใจใ—ใฆไฝฟ็”จใ™ใ‚‹ใ“ใจใ‚’ๅฟต้ ญใซ็ฝฎใ„ใฆใ„ใพใ™ใ€‚

็›ฎๆฌก

ๅˆ†้กž ๅ†…ๅฎน ๅ…ทไฝ“ไพ‹
DATA STRUCTURE ๅ„็จฎใƒ‡ใƒผใ‚ฟๆง‹้€  Union-Findใ€Sparse Table ใชใฉ
DATA STRUCTURE : SEGMENT ๅŒบ้–“ใ‚ฏใ‚จใƒชใซๅผทใ„ใƒ‡ใƒผใ‚ฟๆง‹้€  ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ€BIT ใชใฉ
GEOMETRY ่จˆ็ฎ—ๅนพไฝ• ๅ††ใฎไบค็‚นใชใฉ
GRAPH ใ‚ฐใƒฉใƒ•ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  ๅผท้€ฃ็ตๆˆๅˆ†ๅˆ†่งฃใชใฉ
GRAPH : NETWORK FLOW ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  Ford-Fulkerson ๆณ•ใชใฉ
MATH : ALGEBRA ไปฃๆ•ฐ็š„ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  ่กŒๅˆ—่จˆ็ฎ—ใชใฉ
MATH : COMBINATORICS ็ต„ๅˆใ›่ซ–็š„ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  modintใ€Nim ใชใฉ
MATH : NUMBER THEORY ๆ•ดๆ•ฐ่ซ–็š„ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  ็ด ๅ› ๆ•ฐๅˆ†่งฃใ€ๆœ€ๅคงๅ…ฌ็ด„ๆ•ฐใชใฉ
OPTIMIZATION ๆœ€้ฉๅŒ–ใฎใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  ๅ‹•็š„่จˆ็”ปๆณ•ใชใฉ
SEARCH ๆŽข็ดขใฎใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  ๅ…จๆŽข็ดข, ไบŒๅˆ†ๆŽข็ดขใชใฉ
STRING ๆ–‡ๅญ—ๅˆ—ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  Suffix Arrayใ€KMP ๆณ•ใชใฉ
TREE ๆœจไธŠใฎใƒ‡ใƒผใ‚ฟๆง‹้€ ใจใ‚ขใƒซใ‚ดใƒชใ‚บใƒ  Euler ใƒ„ใ‚ขใƒผใ€ๆœจใฎ็›ดๅพ„ใชใฉ
OTHERS ใใฎไป– xorshiftใ€ใ‚ตใ‚คใ‚ณใƒญใชใฉ

้›ฃๆ˜“ๅบฆ่กจ่จ˜ใฎ็›ฎๅฎ‰

  • (โ˜…โ˜†โ˜†โ˜†)๏ผšไธ€่ˆฌๆ•™้คŠใ€NoviSteps ใ‚ฐใƒฌใƒผใƒ‰ๅŸบๆบ–ใง 2Q ไปฅไธ‹
  • (โ˜…โ˜…โ˜†โ˜†)๏ผšๅˆ็ญ‰ๅ…ธๅž‹ใ€NoviSteps ใ‚ฐใƒฌใƒผใƒ‰ๅŸบๆบ–ใง 1Q, 1D
  • (โ˜…โ˜…โ˜…โ˜†)๏ผšไธญๅ …ๅ…ธๅž‹ใ€NoviSteps ใ‚ฐใƒฌใƒผใƒ‰ๅŸบๆบ–ใง 2D, 3D
  • (โ˜…โ˜…โ˜…โ˜…)๏ผš้ซ˜ๅบฆๅ…ธๅž‹ใ€NoviSteps ใ‚ฐใƒฌใƒผใƒ‰ๅŸบๆบ–ใง 4D ไปฅไธŠ

ใ€€

ใƒ‡ใƒผใ‚ฟๆง‹้€  (DATA STRUCTURE)

ๅ„็จฎใƒ‡ใƒผใ‚ฟๆง‹้€ ใฎๅฎŸ่ฃ…ใงใ™ใ€‚

Union-Find

ใƒ’ใƒผใƒ—

  • (โ˜…โ˜†โ˜†โ˜†) ไบŒๅˆ†ใƒ’ใƒผใƒ—
  • (โ˜…โ˜…โ˜…โ˜…) Skew Heap (ใƒžใƒผใ‚ธๅฏ่ƒฝใƒ’ใƒผใƒ—)
  • (โ˜…โ˜…โ˜…โ˜…) Paring Heap (ใƒžใƒผใ‚ธๅฏ่ƒฝใƒ’ใƒผใƒ—)
  • (โ˜…โ˜…โ˜…โ˜…) Radix Heap
  • (โ˜…โ˜…โ˜…โ˜…) Fibonacci Heap

ใ‚ญใƒฅใƒผ

ใƒใƒƒใ‚ทใƒฅ

ใƒใƒƒใ‚ทใƒฅใƒ†ใƒผใƒ–ใƒซ

N ไปฅไธ‹ใฎ้ž่ฒ ๆ•ดๆ•ฐใฎ้ †ๅบใคใ้›†ๅˆ

ใใฎไป–

ใ€€

ๅŒบ้–“็ณปใƒ‡ใƒผใ‚ฟๆง‹้€  (DATA STRUCTURE : SEGMENT)

ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใ‚„ BIT ใชใฉใ€ๅŒบ้–“ใ‚ฏใ‚จใƒชใซๅผทใ„ใƒ‡ใƒผใ‚ฟๆง‹้€ ใฎๅฎŸ่ฃ…ใงใ™ใ€‚

ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจ

ใ•ใพใ–ใพใชใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจ

BIT (Binary Indexed Tree)

ใ‚ปใ‚ฐใƒกใƒณใƒˆๆœจใƒปBIT ใฎๅฟœ็”จ

Sparse Table

  • (โ˜…โ˜…โ˜…โ˜†) Sparse Table
  • (โ˜…โ˜…โ˜…โ˜…) Disjoint Sparse Table
  • (โ˜…โ˜…โ˜…โ˜…) ไบŒๆฌกๅ…ƒ Sparse Table

ใ‚ฆใ‚งใƒผใƒ–ใƒฌใƒƒใƒˆ่กŒๅˆ—

ๅŒบ้–“ใฎ้›†ๅˆใ‚’ set ใง็ฎก็†ใ™ใ‚‹ใƒ†ใ‚ฏ (Interval Set)

Splay ๆœจ

  • (โ˜…โ˜…โ˜…โ˜…) Splay ๆœจ
  • (โ˜…โ˜…โ˜…โ˜…) ้…ๅปถไผๆ’ญๅ่ปขๅฏ่ƒฝ Splay ๆœจ

่ตค้ป’ๆœจ

  • (โ˜…โ˜…โ˜…โ˜…) ่ตค้ป’ๆœจ
  • (โ˜…โ˜…โ˜…โ˜…) ๆฐธ็ถš่ตค้ป’ๆœจ

ใใฎไป–ๅนณ่กกไบŒๅˆ†ๆŽข็ดขๆœจ

  • (โ˜…โ˜…โ˜…โ˜…) RBST
  • (โ˜…โ˜…โ˜…โ˜…) Treap
  • (โ˜…โ˜…โ˜…โ˜…) AVL ๆœจ
  • (โ˜…โ˜…โ˜…โ˜…) ้…ๅปถไผๆ’ญๅ่ปขๅฏ่ƒฝ RBST
  • (โ˜…โ˜…โ˜…โ˜…) ้…ๅปถไผๆ’ญๅ่ปขๅฏ่ƒฝ Treap

ใใฎไป–

ใ€€

ๅนพไฝ• (GEOMETRY)

ๅนพไฝ•ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™ใ€‚

ๅŸบๆœฌ่ฆ็ด 

็‚น, ็ทšๅˆ†, ไธ‰่ง’ๅฝขใชใฉใฎไฝ็ฝฎ้–ขไฟ‚

ๅฐ„ๅฝฑ, ไบคๅทฎๅˆคๅฎš, ่ท้›ข

็›ด็ทšใ‚„ๅ††ใฎไบค็‚น

ๅคš่ง’ๅฝข

ๅ††

ใƒœใƒญใƒŽใ‚คๅ›ณ

ไธ‰ๆฌกๅ…ƒๅนพไฝ•

ใใฎไป–

  • (โ˜…โ˜…โ˜†โ˜†) ๅž‚็›ดไบŒ็ญ‰ๅˆ†็ทš
  • (โ˜…โ˜…โ˜…โ˜†) ๆœ€่ฟ‘็‚นๅฏพ
  • (โ˜…โ˜…โ˜…โ˜†) ็ทšๅˆ†ไฝตๅˆ
  • (โ˜…โ˜…โ˜…โ˜†) ็ทšๅˆ†ใ‚ขใƒฌใƒณใ‚ธใƒกใƒณใƒˆ
  • (โ˜…โ˜…โ˜…โ˜†) ๅŒๅฏพๅค‰ๆ›
  • (โ˜…โ˜…โ˜…โ˜…) kd ๆœจ

ใ€€

ใ‚ฐใƒฉใƒ• (GRAPH)

ใ‚ฐใƒฉใƒ•ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™

ใ‚ฐใƒฉใƒ•

ใ‚ฐใƒฉใƒ•ๆŽข็ดข

้€ฃ็ตๆˆๅˆ†ๅˆ†่งฃ

ๆœ€็Ÿญ่ทฏๅ•้กŒ

ๅ…จๅŸŸๆœจ, ่ทฏ

ใ‚ฐใƒฉใƒ•ไธŠใฎๆŒ‡ๆ•ฐๆ™‚้–“ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ 

ไธ€่ˆฌใ‚ฐใƒฉใƒ•ใฎใƒžใƒƒใƒใƒณใ‚ฐ

ใใฎไป–

ใ€€ ใ€€

ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผ (GRAPH : NETWORK FLOW)

ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผ้–ข้€ฃใฎใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™ใ€‚

ๆœ€ๅคงๆต

ๆœ€ๅฐใ‚ซใƒƒใƒˆ

ๆœ€ๅฐ่ฒป็”จๆต

b-flow

ไบŒ้ƒจใƒžใƒƒใƒใƒณใ‚ฐ

  • (โ˜…โ˜…โ˜…โ˜†) ไบŒ้ƒจใƒžใƒƒใƒใƒณใ‚ฐ (Hopcroft-Karp ๆณ•, in O(EโˆšV))
  • (โ˜…โ˜…โ˜…โ˜†) ้‡ใฟใคใไบŒ้ƒจใƒžใƒƒใƒใƒณใ‚ฐ (Hungarian ๆณ•)
  • (โ˜…โ˜…โ˜…โ˜…) ไบŒ้ƒจใƒžใƒƒใƒใƒณใ‚ฐใฎ bitset ้ซ˜้€ŸๅŒ–
  • (โ˜…โ˜…โ˜…โ˜…) ใ‚ขใƒณใƒใƒฉใƒณใ‚น้‡ใฟใคใไบŒ้ƒจใƒžใƒƒใƒใƒณใ‚ฐ (in O((K^2 log N + K^3)N))

ไบŒ้ƒจใƒžใƒƒใƒใƒณใ‚ฐใฎๅฟœ็”จ

ๅŠฃใƒขใ‚ธใƒฅใƒฉ้–ขๆ•ฐใฎใ‚ฐใƒฉใƒ•่กจ็พ

ๆœ€ๅฐ่ฒป็”จๆตใฎๅฟœ็”จ

ใ€€

ไปฃๆ•ฐ (MATH : ALGEBRA)

่กŒๅˆ—่จˆ็ฎ—ใชใฉใ€ไปฃๆ•ฐ็š„ใช่จˆ็ฎ—ใซ้–ขใ™ใ‚‹ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™

ไฝ“ไธŠใฎ่กŒๅˆ—

็’ฐไธŠใฎ่กŒๅˆ—

่กŒๅˆ—ๅผ

F2 ไฝ“ไธŠใฎ็ทšๅฝขไปฃๆ•ฐ

่กŒๅˆ—ใฎใ‚ขใƒซใ‚ดใƒชใ‚บใƒ 

  • (โ˜…โ˜…โ˜…โ˜…) Strassen ๆณ•
  • (โ˜…โ˜…โ˜…โ˜…) ไฝ™ๅ› ๅญ่กŒๅˆ—
  • (โ˜…โ˜…โ˜…โ˜…) ๅคš้ …ๅผ่กŒๅˆ—ใฎ prefix product M(0)M(1)...M(K-1)
  • (โ˜…โ˜…โ˜…โ˜…) ใƒใƒ•ใƒ‹ใ‚ขใƒณ (ๅฎŒๅ…จใƒžใƒƒใƒใƒณใ‚ฐใฎๅ€‹ๆ•ฐใซๅธฐ็€)
  • (โ˜…โ˜…โ˜…โ˜…) ใƒ‘ใƒ•ใ‚ฃใ‚ขใƒณ

ใ•ใพใ–ใพใช่กŒๅˆ—

  • (โ˜…โ˜…โ˜…โ˜…) Black Box Linear Algebra (่กŒๅˆ—ๅผ่จˆ็ฎ— in O(N^2 + N T(N)))
  • (โ˜…โ˜…โ˜…โ˜…) ๅทกๅ›ž่กŒๅˆ— (่กŒๅˆ—ๅผ่จˆ็ฎ— in O(N^2))
  • (โ˜…โ˜…โ˜…โ˜…) ไธŠไธ‰่ง’ Toeplitz ่กŒๅˆ— (่กŒๅˆ—ๅผ่จˆ็ฎ— in O(N^2))
  • (โ˜…โ˜…โ˜…โ˜…) K ้‡ๅฏพ่ง’่กŒๅˆ— (่กŒๅˆ—ๅผ่จˆ็ฎ— in O(NK^2))
  • (โ˜…โ˜…โ˜…โ˜…) ไบŒ้ …ไฟ‚ๆ•ฐ่กŒๅˆ—ใฎไฝœ็”จ
  • (โ˜…โ˜…โ˜…โ˜…) ใ‚นใ‚ฟใƒผใƒชใƒณใ‚ฐๆ•ฐ่กŒๅˆ—ใฎไฝœ็”จ

FFT, NTT, Convolution

ๅฝขๅผ็š„ๅ†ช็ดšๆ•ฐ (FPS)

FPS ใฎใ‚ขใƒซใ‚ดใƒชใ‚บใƒ 

ใ•ใพใ–ใพใช FPS

  • (โ˜…โ˜…โ˜…โ˜…) ใ‚ชใƒณใƒฉใ‚คใƒณ FPS
  • (โ˜…โ˜…โ˜…โ˜…) ๅคšๅค‰ๆ•ฐ FPS

ๅคš้ …ๅผใฎๅŸบๅบ•ๅค‰ๆ›

ๅคš้ …ๅผใฎใ‚ขใƒซใ‚ดใƒชใ‚บใƒ 

ใ•ใพใ–ใพใชๅ€คใฎ้ซ˜้€Ÿ่จˆ็ฎ—

  • (โ˜…โ˜…โ˜…โ˜†) floor sum
  • (โ˜…โ˜…โ˜…โ˜…) ่‡ช็„ถๆ•ฐใฎ k ไน—ๅ’Œ (Faulhaber ใฎๅ…ฌๅผ)
  • (โ˜…โ˜…โ˜…โ˜…) ฮฃ{i=0}^{n-1} r^i i^d
  • (โ˜…โ˜…โ˜…โ˜…) ฮฃ{i=0}^{โˆž} r^i i^d
  • (โ˜…โ˜…โ˜…โ˜…) ฮฃ{i=0}^{n-1} a^i f(i)
  • (โ˜…โ˜…โ˜…โ˜…) N! mod P (by FPS, O(โˆšP log P))
  • (โ˜…โ˜…โ˜…โ˜…) Tetration
  • (โ˜…โ˜…โ˜…โ˜…) ไบŒ้ …ไฟ‚ๆ•ฐใฎ prefix sum ใฎๅคš็‚น่ฉ•ไพก
  • (โ˜…โ˜…โ˜…โ˜…) Karatsuba ๆณ•

ใ€€

็ต„ๅˆใ› (MATH : COMBINATORICS)

ๆ•ฐใˆไธŠใ’ใชใฉใ€็ต„ๅˆใ›ๆ•ฐๅญฆใซ้–ขใ™ใ‚‹ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™ใ€‚

Modint

ไบŒ้ …ไฟ‚ๆ•ฐ

ๅ†™ๅƒ12็›ธ

ใใฎไป–ใฎๆ•ฐ

  • (โ˜…โ˜…โ˜…โ˜†) ใƒ™ใƒซใƒŒใƒผใ‚คๆ•ฐ
  • (โ˜…โ˜…โ˜…โ˜†) ใƒขใƒณใƒขใƒผใƒซๆ•ฐ

้›†ๅˆๅ†ช็ดšๆ•ฐ (SPS)

ใ‚ฒใƒผใƒ 

  • (โ˜…โ˜…โ˜†โ˜†) Nim
  • (โ˜…โ˜…โ˜†โ˜†) Grundy ๆ•ฐ
  • (โ˜…โ˜…โ˜…โ˜…) Nim Product
  • (โ˜…โ˜…โ˜…โ˜…) Grundy ๆ•ฐใจๅคš้ …ๅผ็’ฐใฎๅค‰ๆ›
  • (โ˜…โ˜…โ˜…โ˜…) ่ถ…็พๅฎŸๆ•ฐ

ใใฎไป–

  • (โ˜…โ˜…โ˜†โ˜†) LIS and LDS
  • (โ˜…โ˜…โ˜…โ˜…) ใƒ—ใƒชใƒฅใƒผใƒ•ใ‚กใƒผใ‚ณใƒผใƒ‰
  • (โ˜…โ˜…โ˜…โ˜…) ๅŠ็’ฐ

ใ€€

ๆ•ดๆ•ฐ (MATH : NUMBER THEORY)

ๆ•ดๆ•ฐ่ซ–็š„ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™ใ€‚

็ด„ๆ•ฐ, ๅ€ๆ•ฐ

modpow, modinv

็ด ๆ•ฐ

ๅŽŸๅง‹ๆ น, ไฝๆ•ฐ, ้›ขๆ•ฃๅฏพๆ•ฐ

ใ‚จใƒฉใƒˆใ‚นใƒ†ใƒใ‚นใฎ็ฏฉ

ไน—ๆณ•็š„้–ขๆ•ฐ

  • (โ˜…โ˜…โ˜…โ˜…) ้ซ˜้€Ÿใ‚ผใƒผใ‚ฟๅค‰ๆ›๏ผš็ด„ๆ•ฐๅ€ๆ•ฐ้–ขไฟ‚
  • (โ˜…โ˜…โ˜…โ˜…) ๆทปๅญ— GCD Convolution
  • (โ˜…โ˜…โ˜…โ˜…) ๆทปๅญ— LCM Convolution
  • (โ˜…โ˜…โ˜…โ˜…) Multivariate Multiplication
  • (โ˜…โ˜…โ˜…โ˜…) ไน—ๆณ•็š„้–ขๆ•ฐใฎๅˆ—ๆŒ™
  • (โ˜…โ˜…โ˜…โ˜…) ไน—ๆณ•็š„้–ขๆ•ฐใฎ prefix sum ใฎๅˆ—ๆŒ™
  • (โ˜…โ˜…โ˜…โ˜…) ใ‚ชใ‚คใƒฉใƒผ้–ขๆ•ฐใฎๅ’Œ
  • (โ˜…โ˜…โ˜…โ˜…) ็„กๅนณๆ–นๆ•ฐใฎๅ€‹ๆ•ฐ
  • (โ˜…โ˜…โ˜…โ˜…) N ไปฅไธ‹ใฎ็ด ๆ•ฐใฎๅ€‹ๆ•ฐ (O(N^{2/3}))

ๆ–น็จ‹ๅผ

ๅคšๅ€้•ทๆ•ดๆ•ฐ

ๆœ‰็†ๆ•ฐ

ใใฎไป–

ใ€€

ๆœ€้ฉๅŒ– (OPTIMIZATION)

ๆœ€้ฉๅŒ–ใซ้–ขใ™ใ‚‹ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™ใ€‚

ๆœ‰ๅๅ•้กŒใซๅฏพใ™ใ‚‹ๅ‹•็š„่จˆ็”ปๆณ•

่กŒๆœ€ๅฐๅ€คๅ•้กŒใƒปๅ˜ไธ€ๅง‹็‚นๆœ€็Ÿญ่ทฏๅ•้กŒ

ๅŒบๅˆ†็ทšๅฝขๅ‡ธ้–ขๆ•ฐใฎๆดป็”จ 1 ๏ผš Convex Hull Trick

ๅŒบๅˆ†็ทšๅฝขๅ‡ธ้–ขๆ•ฐใฎๆดป็”จ 2 ๏ผš Slope Trick

ๅŒบๅˆ†็ทšๅฝขๅ‡ธ้–ขๆ•ฐใฎๆดป็”จ 3 ๏ผš Min Plus Convolution

  • (โ˜…โ˜…โ˜…โ˜…) Min Plus Convolution (ๅ‡ธใจๅ‡ธ)
  • (โ˜…โ˜…โ˜…โ˜…) Min Plus Convolution (ๅ‡ธใจไปปๆ„)
  • (โ˜…โ˜…โ˜…โ˜…) Min Plus Convolution (ๅ‡นใจไปปๆ„)
  • (โ˜…โ˜…โ˜…โ˜…) Axiotis-Tzamos Knapsack

Monge ๆ€ง, L ๅ‡ธๆ€ง

  • (โ˜…โ˜…โ˜…โ˜…) Monge ่กŒๅˆ—ใฎ min-plus ๅˆๆˆ (in O(N^2))
  • (โ˜…โ˜…โ˜…โ˜…) Monge ๆ€งใ‚’ๆบ€ใŸใ™ๅŒบ้–“ DP ใฎ Knuth-Yao Speedup (in O(N^2))
  • (โ˜…โ˜…โ˜…โ˜…) Monge ๅ˜ไธ€ๅง‹็‚น k ่พบๆœ€็Ÿญ่ทฏๅ•้กŒ (in O(N^2))
  • (โ˜…โ˜…โ˜…โ˜…) Monge ๅ…จ็‚น้–“ๆœ€็Ÿญ่ทฏๅ•้กŒ (in O(N^2))
  • (โ˜…โ˜…โ˜…โ˜…) Monge d-่พบ s-t ๆœ€็Ÿญ่ทฏๅ•้กŒ (by Aliens DP, in O(N log N))
  • (โ˜…โ˜…โ˜…โ˜…) Monge d-่พบ s-t ๆœ€็Ÿญ่ทฏใฎ d = 1, 2, ..., N ใซใŠใ‘ใ‚‹ๅˆ—ๆŒ™ (Aliens DP, in O(N log N))
  • (โ˜…โ˜…โ˜…โ˜…) anti-Monge ๅ˜ไธ€ๅง‹็‚นๆœ€็Ÿญ่ทฏๅ•้กŒ (by D&D SMAWK ๆณ•, in O(N log N))

ใƒžใƒˆใƒญใ‚คใƒ‰, M ๅ‡ธๆ€ง

  • (โ˜…โ˜…โ˜…โ˜†) ใƒžใƒˆใƒญใ‚คใƒ‰ไธŠใฎ Greedy ๆณ•
  • (โ˜…โ˜…โ˜…โ˜…) ใƒžใƒˆใƒญใ‚คใƒ‰ไบคๅทฎ

้€ฃ็ถšๆœ€้ฉๅŒ–

  • (โ˜…โ˜†โ˜†โ˜†) ไบŒๆฌกๆ–น็จ‹ๅผ
  • (โ˜…โ˜†โ˜†โ˜†) ไบŒๅˆ†ๆŽข็ดขๆณ• (ๆ–น็จ‹ๅผใฎ่งฃใ‚’ 1 ใคๆฑ‚ใ‚ใ‚‹)
  • (โ˜…โ˜…โ˜†โ˜†) ไธ‰ๅˆ†ๆŽข็ดขๆณ•
  • (โ˜…โ˜…โ˜†โ˜†) ้ป„้‡‘ๆŽข็ดขๆณ•
  • (โ˜…โ˜…โ˜…โ˜†) Newton ๆณ•

LP, IP, MIP

ใ€€

ๆŽข็ดข (SEARCH)

ๆŽข็ดขใซ้–ขใ™ใ‚‹ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™ใ€‚

ใ•ใพใ–ใพใชๅ…จๆŽข็ดข

SAT

  • (โ˜…โ˜…โ˜…โ˜†) 2-SAT
  • (โ˜…โ˜…โ˜…โ˜…) SAT Solver

ใƒ’ใƒฅใƒผใƒชใ‚นใƒ†ใ‚ฃใƒƒใ‚ฏๆŽข็ดข

  • (โ˜…โ˜…โ˜…โ˜†) ฮฑ-ฮฒ ๆŽข็ดข
  • (โ˜…โ˜…โ˜…โ˜†) ็„ผใ้ˆใ—ๆณ•
  • (โ˜…โ˜…โ˜…โ˜†) A*
  • (โ˜…โ˜…โ˜…โ˜†) IDA*

ๆŒ‡ๆ•ฐๆ™‚้–“ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ 

  • (โ˜…โ˜…โ˜…โ˜…) Set Cover
  • (โ˜…โ˜…โ˜…โ˜…) k-Cover (O(2^N N))
  • (โ˜…โ˜…โ˜…โ˜…) k-partition (O(2^N N^3))

ใ€€

ๆ–‡ๅญ—ๅˆ— (String)

ๆ–‡ๅญ—ๅˆ—ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™ใ€‚

ๆง‹ๆ–‡่งฃๆž

ๆ–‡ๅญ—ๅˆ—ๆคœ็ดข

Suffix Array

ใ•ใพใ–ใพใชๆ–‡ๅญ—ๅˆ—ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ 

  • (โ˜…โ˜…โ˜†โ˜†) Z ๆณ•
  • (โ˜…โ˜…โ˜…โ˜†) Manacher ๆณ•
  • (โ˜…โ˜…โ˜…โ˜†) Run Enumerate

ใ•ใพใ–ใพใชๆ–‡ๅญ—ๅˆ—ใƒ‡ใƒผใ‚ฟๆง‹้€ 

  • (โ˜…โ˜…โ˜…โ˜†) Trie ๆœจ
  • (โ˜…โ˜…โ˜…โ˜…) Palindromic ๆœจ (AOJ 2292)

ๆœ‰ๅๅ•้กŒ

ใใฎไป–

ใ€€

ๆœจ (Tree)

ๆœจไธŠใฎใ‚ฏใ‚จใƒชใซ็ญ”ใˆใ‚‹ใƒ‡ใƒผใ‚ฟๆง‹้€ ใ‚„ใ€ๆœจใซ้–ขใ™ใ‚‹ๅ•้กŒใ‚’่งฃใใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใฎๅฎŸ่ฃ…ใงใ™

ๆœจ

ๆœจใฎไบœ็จฎ (Functional Graph ใชใฉ)

ๆœจ DP

Euler Tour

  • (โ˜…โ˜…โ˜…โ˜†) Euler Tour
  • (โ˜…โ˜…โ˜…โ˜†) LCA (by Euler Tour)
  • (โ˜…โ˜…โ˜…โ˜†) ้ƒจๅˆ†ๆœจๅŠ ็ฎ— (by Euler Tour)

HL ๅˆ†่งฃ

้‡ๅฟƒๅˆ†่งฃ

Link-Cut ๆœจ

  • (โ˜…โ˜…โ˜…โ˜…) Link-Cut ๆœจ
  • (โ˜…โ˜…โ˜…โ˜…) ้ƒจๅˆ†ๆœจๅŠ ็ฎ— (by Link-Cut ๆœจ)
  • (โ˜…โ˜…โ˜…โ˜…) ้…ๅปถไผๆ’ญ Link-Cut ๆœจ

toptree

  • (โ˜…โ˜…โ˜…โ˜…) toptree

ใ•ใพใ–ใพใชๆœจ

  • (โ˜…โ˜…โ˜…โ˜†) Union-Find ใฎใƒžใƒผใ‚ธ้Ž็จ‹ใ‚’่กจใ™ๆœจ
  • (โ˜…โ˜…โ˜…โ˜†) Cartesian Tree
  • (โ˜…โ˜…โ˜…โ˜†) Auxiliary Tree
  • (โ˜…โ˜…โ˜…โ˜†) Inclusion Tree

ใใฎไป–ใฎๅ•้กŒ

ใ€€

ใใฎไป– (OTHERS)

ใใฎไป–ใฎใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใงใ™

ๅ…ฅๅ‡บๅŠ›

  • (โ˜…โ˜…โ˜…โ˜…) Fast IO

ใ‚ฐใƒชใƒƒใƒ‰

ใ‚ฝใƒผใƒˆ

ใใฎไป–

ใ€€

ใ‚ณใƒผใƒ‰ใƒ†ใƒณใƒ—ใƒฌใƒผใƒˆ

ใ€€

License

These codes are licensed under CC0. CC0

About

Implementation of various algorithms

Resources

Stars

277 stars

Watchers

15 watching

Forks

Releases

Packages

Contributors

Languages