المنهج
31 وحدة مرتبطة بمنهج IOI 2025، مرتبة حسب المتطلبات السابقة.
L1 · الأساسيات
C++ والتعقيد وSTL وأول خطوات في الخوارزميات.
- F13 أسابيع
C++ الأساسي
I/O، متغيرات، شروط، حلقات، دوال، arrays، strings
- F2أسبوع واحد
Complexity
Big-O، 10^8 عملية/ثانية، قراءة القيود، overflow
يتطلب: F1
- F32 أسابيع
STL
vector، pair، sort، set/map، stack/queue، priority_queue
يتطلب: F1
- F4أسبوع واحد
Brute force وSimulation
تجربة كل الحالات، implementation دقيق
يتطلب: F1
- F5أسبوع واحد
رياضيات أساسية
القسمة، gcd، primes وsieve، جمع وضرب modular، fast exponentiation
يتطلب: F2
- F62 أسابيع
Sorting وGreedy مدخل
الترتيب كأداة، أول exchange argument
يتطلب: F3
- F7أسبوع واحد
Prefix sums
1D و2D، difference arrays
يتطلب: F2
- F82 أسابيع
Binary search
على مصفوفة مرتبة وعلى الإجابة
يتطلب: F6
- F9أسبوع واحد
Two pointers
sliding window
يتطلب: F7, F8
- F102 أسابيع
Recursion
backtracking، subsets، permutations، bitmask enumeration
يتطلب: F1
- F11أسبوع واحد
DP مدخل
1D DP، coins، LIS O(n²)، knapsack
يتطلب: F10
- F12أسبوع واحد
Graphs مدخل
تمثيل الـ graph، BFS/DFS على grids، connected components
يتطلب: F3, F10
L2 · الخوارزميات
Greedy وDP والرسوم البيانية وهياكل البيانات.
- A12 أسابيع
Greedy بالبرهان
exchange argument، scheduling، متى يفشل الـ greedy
يتطلب: F6
- A2أسبوع واحد
Binary search on answer
دالة فحص مع monotonicity
يتطلب: F8
- A34 أسابيع
DP II
2D DP، LCS، knapsack variants، interval DP، bitmask DP
يتطلب: F11
- A43 أسابيع
Graphs II
Dijkstra، 0-1 BFS، Bellman-Ford، Floyd، topological sort، DP على DAG
يتطلب: F12
- A5أسبوع واحد
DSU وMST
union-find، Kruskal، Prim
يتطلب: A4
- A63 أسابيع
Trees I
DFS order، subtree sizes، tree DP، diameter، LCA (binary lifting)
يتطلب: F12, A3
- A73 أسابيع
Range queries
sparse table، Fenwick، segment tree (point update)، coordinate compression
يتطلب: F7
- A8أسبوع واحد
Combinatorics
العد، Pascal، inclusion–exclusion، pigeonhole
يتطلب: F5
- A92 أسابيع
Ad-hoc وConstructive
invariants، parity، بناء الأمثلة، التفكير من الحالات الصغيرة
يتطلب: All of L1
- A10أسبوع واحد
أشكال مسائل IOI
function-signature graders، interactive، output-only، subtasks
يتطلب: F1
- A11أسبوع واحد
Stress testing
brute وgenerator ومقارنة، وdebugging منهجي
يتطلب: F4
L3 · الأولمبياد
مستوى IOI: مسائل مختلطة وتقنيات متقدمة.
- O1
Segment tree II
lazy propagation، merging، walk، persistent segment tree
يتطلب: A7
- O2
Trees II
Euler tour + DS، small-to-large، HLD، centroid decomposition، virtual tree
يتطلب: A6, O1
- O3
Advanced DP
convex hull trick / Li Chao، divide & conquer opt، Knuth، digit DP، SOS، DP + DS
يتطلب: A3, O1
- O4
Graphs III
SCC، bridges/articulation، 2-SAT، Euler paths، bipartite matching، max flow / min cut
يتطلب: A4, A5
- O5
Offline techniques
sweep line، sqrt decomposition، Mo، parallel binary search، DSU rollback، D&C offline
يتطلب: A7
- O6
Geometry بحدود IOI
cross product، orientation، مساحة مضلع، point in polygon، convex hull، أعداد صحيحة فقط
يتطلب: F5
- O7
Problem solving متقدم
constructive، interactive بحدود أسئلة، communication tasks، randomization، heuristics للـ partial scoring
يتطلب: A9, A10
- O8
استراتيجية IOI
قراءة المسائل الثلاث، جمع الـ subtasks، توزيع 5 ساعات، متى تترك مسألة
يتطلب: A10
مواد اختيارية
- E
Electives
KMP / Z / hashing / suffix array، modular inverse، FFT، matrix exponentiation، Sprague-Grundy
يتطلب: After O1–O8