## Alpen Competitive Programming --- Weekly Problem List
**[General Notes]**
* Keep in mind that difficulty is relatively measured.
* *Weeks* in this context does not necessarily mean seven days but instead is just a way to seperates sessions.
* Problems are **not** in increasing level of difficulty, you may try the problems you think to be easier first.
---
**[Competition Notes]**
There are some competition which priority to participate is high. The highest being Olimpiade Sains Nasional (OSN), and supplementarily:
- BNPCHS is a programming competition held by Binus University for High School Student.
- Compfest is a programming competition held by Universitas Indonesia. The Junior Division is held for High School Student.
- Schematics is a programming competition held by Institut Teknologi Sepuluh November. The Junior Division is held for High School Students.
---
### Weeks 0
> These weeks mark the beginning of competitive programming journey. Finish TLX *Pemrograman Dasar*.
Problem are given in [**TLX *Pemrograman Dasar* Site**](https://tlx.toki.id/courses/basic-old).
---
### Weeks 1
>These weeks marks the end of TLX *Pemrograman Dasar*. No additional material to be taught for this week.
---
### Weeks 2
> These weeks introduce **Brute Force**.
---
### Weeks 3
> These weeks introduce the data structure: **Sets and Maps**. These weeks also focuses more on **Sorting Problems**.
---
### Weeks 4
> These weeks introduce **Prefix Sums**.
---
### Weeks 5
> These weeks introduce **Binary Search**.
---
### Weeks 6
> These weeks introduce **Greedy Algorithm**.
---
### Weeks 7
> These weeks introduce the basics of **Graph** which includes **Depth First Search** and **Tree Algorithm**.
---
### Weeks 8
> These weeks introduce the data structure: **Disjoint Set Union**, **Stack**, and **Queue**.
---
### Weeks 9
> These weeks introduce more concept of graph which includes **Breadth First Search** and **Shortest Path Algorithm**.
---
### Weeks 10
> These weeks introduce the basic of **Minimum Spanning Tree**.
>
---
### Weeks 11
> These weeks introduce the basic of **Dynamic Programming**.
---
### Weeks 12
> These weeks introduce more concept of Dynamic Programming which includes **Knapsack** and **DP on Grids**.
---
### Weeks 13
> These weeks introduce data structure: **Fenwick Tree** and **Segment Tree**.
---
### Weeks 14
> These weeks introduce **Mathematics: Number Theory**.
---
### Weeks 15
> These weeks introduce **Mathematics: Combinatorics**.
---