{"id":15486500,"url":"https://github.com/marshalx/competitive-programming","last_synced_at":"2025-04-22T17:26:50.447Z","repository":{"id":37478872,"uuid":"424890659","full_name":"MarshalX/competitive-programming","owner":"MarshalX","description":"Я просто хочу пройти алгоритмический собес 🥺","archived":false,"fork":false,"pushed_at":"2024-04-17T11:27:32.000Z","size":119,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-19T07:15:24.320Z","etag":null,"topics":["algorithm-interview","algorithms","codeforces","competitive-programming","cpp","datastructures","datastructures-algorithms","interview","interview-practice","leetcode","python"],"latest_commit_sha":null,"homepage":"https://leetcode.com/MarshalX","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarshalX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-05T09:20:34.000Z","updated_at":"2024-04-18T18:57:39.000Z","dependencies_parsed_at":"2022-09-15T07:00:22.303Z","dependency_job_id":"63dc2e0f-d304-4e32-be64-104fe42e1f93","html_url":"https://github.com/MarshalX/competitive-programming","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarshalX%2Fcompetitive-programming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarshalX%2Fcompetitive-programming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarshalX%2Fcompetitive-programming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarshalX%2Fcompetitive-programming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarshalX","download_url":"https://codeload.github.com/MarshalX/competitive-programming/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250286417,"owners_count":21405433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm-interview","algorithms","codeforces","competitive-programming","cpp","datastructures","datastructures-algorithms","interview","interview-practice","leetcode","python"],"created_at":"2024-10-02T06:08:40.728Z","updated_at":"2025-04-22T17:26:50.388Z","avatar_url":"https://github.com/MarshalX.png","language":"Python","readme":"# Competitive Programming ![WakaTime](https://wakatime.com/badge/user/3dffa020-4a1a-4dcc-8526-a337c2321c39/project/018eaf79-1703-45fc-b3af-4e3720f27cb2.svg?style=flat-square)\n\n\u003e Я просто хочу пройти алгоритмический собес 🥺\n\n## Алгоритмы\n\n- **KMP** — поиск подстроки в строке за O(m + n). Встретился в [28](https://github.com/MarshalX/competitive-programming/blob/6b2a5be0d03e7b7219645f8841f24beba80f036c/main.cpp). [Брутфорс](https://github.com/MarshalX/competitive-programming/blob/614c1ef638e04804b348ad9463c20f4e8378e32f/main.cpp) ушёл в TL. Алгос списал с псевдокода на вики: [Knuth–Morris–Pratt algorithm](https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm).\n- **Prefix sum** — [быстрый ответ](https://github.com/MarshalX/competitive-programming/blob/b86ddc27fc22820f2fc1d3e4008ddc2c2471e454/main.cpp) на множество вопросов \"Какая сумма на подмассиве от L до R?\" (`pref[0] = a[0]; pref[i] = pref[i - 1] + a[i]. Q: pref[r] - pref[l - 1] или pref[r] если l == 0`). Точ в точ задача [303](https://github.com/MarshalX/competitive-programming/blob/b815c2340153d415895e18e8899f0a226c08de54/main.cpp). Интересное и легкое усложнение задачи в [724](https://github.com/MarshalX/competitive-programming/blob/a507ae4e8671bd6b49eaaa2c9a5e9c8d69b1f5d3/main.cpp).\n- **Kadane's algorithm** — подмассив с [наибольшей суммой](https://github.com/MarshalX/competitive-programming/blob/7ab975a6852e5a156f724c54e15bbf8316dcc0d7/main.cpp) (`tSum += a[i]; tSum = max(tSum, a[i]); res = max(res, tSum)`).\n\n## Ссылки на почитать\n\n### Списки задач\n- [NeetCode](https://neetcode.io/practice?tab=neetcode150)\n- [Blind 75](https://leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions)\n- [Grind 75](https://www.techinterviewhandbook.org/grind75)\n- [AlgoMap](https://algomap.io/)\n- [CSES Problem Set](https://cses.fi/problemset)\n\n### Сайты с темами\n- [The Ultimate Topic List](https://youkn0wwho.academy/topic-list)\n- [brestprog](https://brestprog.by/topics/)\n- [algorithm gitbook](https://liuzhenglaichn.gitbook.io/algorithm)\n- [USACO Guide](https://usaco.guide/)\n\n### Конкретные темы\n- [x] [Maximum subarray problem (Kadane's algorithm)](https://en.wikipedia.org/wiki/Maximum_subarray_problem). LeetCode [53](https://leetcode.com/problems/maximum-subarray/)\n- [ ] [Sliding Window Technique](https://quanticdev.com/algorithms/dynamic-programming/sliding-window/)\n- [x] [Префиксные суммы. XOR. Задачи на запросы](https://brestprog.by/topics/prefixsums/)\n- [x] [Полное бинарное дерево. Куча. Очередь с приоритетом](https://brestprog.by/topics/heap/)\n- [ ] [Hamming weight](https://en.wikipedia.org/wiki/Hamming_weight). LeetCode [191](https://github.com/MarshalX/competitive-programming/blob/b05daa0e7889065671c62d4a3267d08e5f94eea7/main.cpp) \n- [ ] [Custom impl of `__builtin_popcount`](https://stackoverflow.com/questions/52161596/why-is-builtin-popcount-slower-than-my-own-bit-counting-function/52161813) \n- [ ] [Hamming distance](https://en.wikipedia.org/wiki/Hamming_distance)\n- [ ] [How to count leading zeros in integer (`__builtin_clz` and pure impls)](https://stackoverflow.com/questions/23856596/how-to-count-leading-zeros-in-a-32-bit-unsigned-integer)\n\n## Ссылки на посмотреть\n- [Четыре задачи на два указателя](https://youtu.be/MyWNZJ10zIU)\n- [Алгоритм Кнута-Морриса-Пратта](https://youtu.be/7g-WEBj3igk)\n- [Динамическое программирование это просто](https://youtu.be/GOF4VUi4nGU)\n- [Задача о рюкзаке. Динамическое программирование](https://youtu.be/AgM-w6QuIHQ)\n- [Прямая и обратная польская нотация](https://youtu.be/sC566vzV9B0)\n- [Популярная в собеседованиях гугл задача. Разбор и решение (Guess the word 843 на LeetCode)](https://youtu.be/pJNd7AzIWGc)\n- [Хитрая задача на Стек](https://youtu.be/-59FbGWsCgI)\n- [Поиск Знаменитости. Метод двух указателей](https://youtu.be/xGvQN_g-JCI)\n- [Динамическое Программирование: Количество Уникальных Путей](https://youtu.be/GhiRlhPlJ9Q)\n- [What is Bitmasking](https://youtu.be/7FmL-WpTTJ4)\n- [Bitwise Operations tutorial #1 | XOR, Shift, Subsets](https://youtu.be/xXKL9YBWgCY)\n- Плейлист [АиСД year2020 s1](https://youtube.com/playlist?list=PLrS21S1jm43jz48qjdfYNpuIPgL3lNJ_o)\n- Что такое sliding window: [Solve subarray problems FASTER (using Sliding Windows)](https://youtu.be/GcW4mgmgSbw)\n- Что такое dynamic programming: [Mastering Dynamic Programming - How to solve any interview problem (Part 1)](https://youtu.be/Hdr64lKQ3e4)\n- [Linked List Cycle - Floyd's Tortoise and Hare](https://youtu.be/gBTe7lFR3vc)\n- Найти позицию начала цикла (`len(head -\u003e cycle_start) == len(equal_pointers -\u003e cycle_start)`) [Floyd's Cycle Detection](https://youtu.be/wjYnzkAhcNk)\n- [How Dijkstra's Algorithm Works](https://youtu.be/EFg3u_E6eHU)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarshalx%2Fcompetitive-programming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarshalx%2Fcompetitive-programming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarshalx%2Fcompetitive-programming/lists"}