Practice deliberately
Move from concepts to timed sets, with feedback that makes the next solve faster.
UVIC/CPC
University of Victoria · Est. 2021
Competitive programming & technical interview prep at UVic.
UVic CPC is for students training for programming contests, building sharper algorithmic instincts, or preparing for technical interviews. We learn the patterns, then put them under pressure.
Move from concepts to timed sets, with feedback that makes the next solve faster.
Share whiteboards, compare approaches, and learn how a contest team actually works.
Basic programming is enough. Curiosity and consistency do the rest.
Open to every UVic student with basic programming experience.
Bring a laptop. Show up for the first problem. Stay for the postmortem.
Timed problem sets, team strategy, and contest simulation.
Practice-question walkthroughs, techniques, and discussion.
Location: ECS 249. Join discord for events and contest information.
We are building teams for the ICPC Pacific Northwest Regional, while keeping the door open for anyone who wants a better competitive edge.
Algorithmic depth, team practice, and contest readiness.
Interview patterns, speed, and clear communication.
Low-stakes rounds to test new skills together.
Every session is a reusable edge in the graph.
Pacific Northwest Regional problem set — work through a focused ICPC set as a team.
A five-problem Kattis set featuring geometry, strings, and constructive problem solving.
Notes and notebook for modelling flows, cuts, and matching problems.
Priority queues, scheduling patterns, and a curated practice set.
Quick review of foundamental data structures and algorithms
Professor Ibrahim walk us through some easy ad-hoc questions from previous ICPC questions
Problems (courtesy of Lawrence): Rise and Fall Circle Bounce Black and White Square Bounce Tetris Ge...
Problems (shortest paths, courtesy of Lawrence): Shortest path of the king Rook, Bishop and King The Cla...
Lecture by Dr. Ibrahim Numanagić about what to do when stuck on a problem in competitive programming.
Problems (B, C, D): AtCoder - Beginner Contest 319
Problems (courtesy of Lawrence): Reversibly Cyclic Strings Tournament Seeding Who Goes There? Rise and...
Problems (B, C, D): AtCoder - Beginner Contest 322
Problems: LeetCode - Weekly Contest 364
Problems: ABC309 - Rotate ABC309 - Medicine ABC309 - Add One Edge
First meeting: Wednesday Sept 13, 5:30, in ECS 342. Meeting every Thursday, 5:30PM, in ECS 342 starting from Se...
Introduction slides Problems: ABC314 - 3.14 ABC314 - Roulette ABC314 - Rotate Colored Subsequence ABC...
ABC304 - Subscribers ABC304 - Virus ABC304 - A Piece of Cake ABC304 - Good Graph
Meeting every Thursday, 3:00PM, in ECS 352.
ABC303 - Discord ABC303 - Dash ABC303 - Shift vs. CapsLock ABC303 - A Gift From the Stars
ABC302 - Find snuke ABC302 - Almost Equal ABC302 - Impartial Gift ABC302 - Isolation
ABC301 - Fill the Gaps ABC301 - AtCoder Cards ABC301 - Bitmask ABC301 - Pac-Takahashi
ABC300 - Same Map in the RPG World ABC300 - Cross ABC300 - AABCC ABC300 - Dice Product 3
ABC299 - Dango ABC299 - Find by Query ABC299 - Nearest Black Vertex
ABC298 - Cards Query Problem ABC298 - Writing a Numeral ABC298 - Unfair Sugoroku
ABC297 - chess960 ABC297 - PC on the Table ABC297 - Count Subtractions
ABC294 - ASCII Art ABC294 - Merge Sequences ABC294 - Bank
LeetCode Weekly Contest 336
LeetCode Weekly Contest 335
LeetCode Weekly Contest 329
ABC291 - Trimmed Mean ABC291 - LRUD Instructions 2 ABC291 - Flip Cards
ABC211 - Number of Shortest paths ABC211 - chokudai
Meeting every Friday, 11:30AM, in ECS 354.
Meeting on Friday, January 27th, 5PM in ECS 123. Bring your latop as we will solve some problems. If you’re int...
ABC176 - Multiple of 9 ABC233 - Count Interval
The first meeting of the Spring 2023 term is Friday, January 20th, 5–6 PM in ECS 123. If you’re interested in th...
Intersection of Two Linked Lists
Search in Rotated Sorted Array
Word Break II
Path with Maximum Probability
Find First and Last Position of Element in Sorted Array Diameter of Binary Tree
Longest Substring Without Repeating Characters
Multigram Modulo Solitaire
Army Strength (Hard) Kattis’s Quest
Name Generation Touchscreen Keyboard
Where’s My Internet?? Brexit Elevator Trouble
Kattis - Build Dependencies Kattis - Conservation
15. 3Sum 371. Sum of Two Integers 417. Pacific Atlantic Water Flow
1. Two Sum 215. Kth Largest Element in an Array 904. Fruit Into Baskets
Kattis - Postal Delivery Kattis - Falling Apples
347 - Top K Frequent Elements 295 - Find Median from Data Stream
Kattis - No Thanks Kattis - A1 Paper Kattis - Bank Queue
505B - Mr. Kitayuta’s Colorful Graph 510B - Fox And Two Dots 580C - Kefa and Park
Kattis - Babelfish Kattis - Ants Kattis - Doctor Kattis
Slides Code
Kattis - Birthday Party Kattis - Cave Exploration
CSES - Static Range Minimum Queries CSES - Dynamic Range Sum Queries CSES - Range Update Queries
Kattis - Island Hopping Kattis - Lost Map
Kattis - Board Wrapping
Kattis - Union-Find
Kattis - Dobra Codeforces - Dreamoon and WiFi
Atcoder - Many Balls Codeforces - Pipeline
Word Buy a Shovel Decoding Petya and Countryside
Count Special Quadruplets Postal Delivery
Partition Array Into Three Parts With Equal Sum Remove Duplicate Letters Task Scheduler
Restore IP Addresses Interleaving String Different Ways to Add Parentheses
Time Needed to Inform All Employees Find Duplicate Subtrees Delete Nodes And Return Forest Flip Equival...
3Sum Closest Sort an Array 01 Matrix
Majority Element Find All Numbers Disappeared in an Array Sort Colors Maximal Square
Product of Array Except Self Search a 2D Matrix II Partition Labels Copy List with Random Pointer
Palindrome Partitioning Isomorphic Strings Max Area of Island
Add Two Numbers String to Integer (atoi) Regular Expression Matching
Find All Anagrams in a String Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold...
3Sum Validate Binary Search Tree Jump Game II LRU Cache
Kth Largest Element in an Array Unique Binary Search Trees Minimum Path Sum Binary Tree Right Side View...
Counting Bits Divisor Game
Union-Find Standard Union Find with Path Compression. Make n sets. If the operation is “=” then union set a a...
Bridges Simple BFS does not work because there can be a longer path that has a smaller total weight. Method ...
Check if a number is prime def is_prime(n): if n < 5: return n == 2 or n == 3 if not (n % 6 =...
Introduction to C++ and GDB Chickens and Zombies problem Include the standard template library (STL) #in...
Islands Breadth First Search. You can also solve it with Depth First Search or any graph traversal algorithms...
Hello World! The Easiest Problem Is This One Summing digits of integer n: Method 1: math sum = 0 whil...
No sessions match that search. Try a different topic.
New members welcome
Join the Discord for meeting rooms, contest updates, and the problems we are working on this week.
Join on Discord