Participants: Luke, Remington, Micah, and Dr. Lu
Luke solved
brainstorm problems for high school programming contest:
https://github.com/mwermelinger/kattis-guide
Participants: Luke, Remington, Micah, and Dr. Lu
- Asteroid Avoidance https://open.kattis.com/problems/asteroidavoidance
Participants: Luke, Remington, Micah, and Dr. Lu
- Alien Integers https://open.kattis.com/problems/alienintegers
solution and explanation from AI https://github.com/sbunivedu/ICPC_practice/tree/main/alien
Participants: Luke, Remington, Micah, and Dr. Lu
- 99 Problems https://open.kattis.com/problems/99problems
- 99 Problems (fast I/O method) https://open.kattis.com/problems/99problems2
Participants: Luke, Remington, Micah, and Dr. Lu
They solved the following problems:
- I Hate The Number Nine https://open.kattis.com/problems/nine
- Aldursröðun https://open.kattis.com/problems/aldursrodun
Solutions along with AI explanations:
- https://github.com/sbunivedu/ICPC_practice/tree/main/hatenine
- https://github.com/sbunivedu/ICPC_practice/tree/main/age
Participants: Luke, Remington, Micah, and Dr. Lu
We set out to solve:
- 8 Queens (B/0) https://open.kattis.com/problems/8queens
- 4 Thought (B/0) https://open.kattis.com/problems/4thought
Solutions along with AI comments:
- https://github.com/sbunivedu/ICPC_practice/tree/main/8queens
- https://github.com/sbunivedu/ICPC_practice/tree/main/4thought
Participants: Luke, Remington, Micah, and Dr. Lu
Reviewed AI solution to https://open.kattis.com/problems/10kindsofpeople and the explanation+tracing at https://github.com/sbunivedu/ICPC_practice/tree/main/10kindsofpeople
Lessons learned:
- Use breadth-first search to avoid recursive depth-first search, which may cause stack overflow.
- Use pre-processing to avoid repeated traversals.
Everyone solved https://open.kattis.com/problems/3dprinter
Luke solved https://open.kattis.com/problems/a1paper
- Luke's solution embellished with AI generated comments https://github.com/sbunivedu/ICPC_practice/blob/main/a1paper/Luke.java
- AI explanation of the solution with the trace of a test case https://github.com/sbunivedu/ICPC_practice/blob/main/a1paper/explanation.md
Participants: Luke, Remington, Micah, and Dr. Lu
We set out to solve https://open.kattis.com/problems/10kindsofpeople
Participants: Luke, Remington, and Dr. Lu
Reminton discovered https://vjudge.net/ where you can submit solutions and get judged by popular judging sites.
We are working past contest problems to prepare for the upcoming ICPC mid-central:
Luke discovered that if you can search and find a contest problem on Kattis' home page https://open.kattis.com/ (search box on bottom left corner) you can submit a solution for judging.
Participants: Lucas, Micah, and Dr. Lu
Lucas has been using codingbat.com to warmup his Java programming muscles.
Participants: Luke, Remington, and Dr. Lu
Participants: Micah, Lucas, and Dr. Lu
Participants: Luke, Remington, and Dr. Lu
Remington explored various learning resources to catch up on python.
- https://www.freecodecamp.org/learn/python-for-everybody/
- https://codingbat.com/python
- https://leetcode.com/problemset/
These two are linked by the official python.org website
This is a very good site. It has interactive elements even better then freecodecamp in my opinion. However, after the first couple of chapters, the interactive elements are locked behind a paywall. After that, all of the videos, documentation, and sample code are still free for use. ht tps://www.boot.dev/
Participants: Micah, Chandler, and Dr. Lu
The following resources were shared:
- tons of practice problems https://leetcode.com/
- basics coding practice problems in Java and Python https://codingbat.com/java
- training book 1 "Programming Challenges" http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf
- training book 2 "competitive programmer's handbook" https://cses.fi/book/book.pdf
Micah solved the "two sum" problem and learned how to do it with O(n) efficiency using a dictionary: https://leetcode.com/problems/two-sum/
Participants: Jake, Elijiah, Remington, Luke, Lucas, and Dr. Lu
Luke solved the following problems:
- Java int to string https://www.hackerrank.com/challenges/java-int-to-string?isFullScreen=true
- Java date and time https://www.hackerrank.com/challenges/java-date-and-time?isFullScreen=true
- Java currency formatter https://www.hackerrank.com/challenges/java-currency-formatter?isFullScreen=true
- Java strings introduction https://www.hackerrank.com/challenges/java-strings-introduction?isFullScreen=true
- Java substring https://www.hackerrank.com/challenges/java-substring?isFullScreen=true
- *ava string compare https://www.hackerrank.com/challenges/java-string-compare?isFullScreen=true
- Java string reverse https://www.hackerrank.com/challenges/java-string-reverse?isFullScreen=true
Luke, Lucas, and Dr. Lu worked on the following problems:
- https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/
- https://leetcode.com/problems/container-with-most-water/
Luke solved the following problems on hackerrank.com:
- Java Stdin and Stdout II
- Java Output Formatting
- Java Loops I
Participants: Jake, Elijiah, Remington, and Dr. Lu
Participants: Jake, Luke, Lucas, Elijiah, and Remington
Jake, Luke, and Elijiah looked at some "string" problems in http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf and found them too easy.
Remington and Dr. Lu looked at the "Yahtzee" problem.
Here is the "competitive programmer's handbook" https://cses.fi/book/book.pdf
Participants: Jake, Luke, Lucas, Remington, and Dr. Lu
Participants: Jake, Luke, Lucas, Alex and Dr. Lu
Participants: Jake, Luke, Lucas and Dr. Lu
Luke solved the following problems:
- #2391 https://leetcode.com/problems/minimum-amount-of-time-to-collect-garbage
- #2161 https://leetcode.com/problems/partition-array-according-to-given-pivot
Lucas solved #26 https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/
Guides on handling I/O:
- for all programmers https://support.kattis.com/support/solutions/articles/79000120852-how-do-i-handle-input-and-output-
- for Python programmers https://mwermelinger.github.io/kattis-guide/input.html
Participants: Jake, Luke, Lucas and Dr. Lu Luke solved the following problems:
- #3211 https://leetcode.com/problems/generate-binary-strings-without-adjacent-zeros
- #654 https://leetcode.com/problems/maximum-binary-tree
- #1769 https://leetcode.com/problems/minimum-number-of-operations-to-move-all-balls-to-each-box
- #1315 https://leetcode.com/problems/sum-of-nodes-with-even-valued-grandparent
- #2125 https://leetcode.com/problems/number-of-laser-beams-in-a-bank
Participants: Jake, Luke and Dr. Lu
Luke solved #1610 https://leetcode.com/problems/convert-an-array-into-a-2d-array-with-conditions and studied problems in the NAQ 2024 problem set https://naq24.kattis.com/contests/naq24/problems
Jake solved B, C, E in NAQ 2024 problem set https://naq24.kattis.com/contests/naq24/problems
Participants: Jake, Luke, Josiah, and Elijiah
Luke solved the following problems:
- #2181 https://leetcode.com/problems/merge-nodes-in-between-zeros
- #1689 https://leetcode.com/problems/partitioning-into-minimum-number-of-deci-binary-numbers
- #1476 https://leetcode.com/problems/subrectangle-queries
Jake, Josiah, and Elijiah designed the team's dream T-shirt.
Participants: Jake, Luke, Lucas, and Dr. Lu
Luke solved the following problems:
- #45 https://leetcode.com/problems/jump-game-ii/description/
- #2807 https://leetcode.com/problems/insert-greatest-common-divisors-in-linked-list/description/
Jake solved the following problems:
- #2707 https://leetcode.com/problems/extra-characters-in-a-string/description/
- #3043 https://leetcode.com/problems/find-the-length-of-the-longest-common-prefix/description/
- #440 https://leetcode.com/problems/k-th-smallest-in-lexicographical-order/description/
Lucas solved the "round_sum" problem https://codingbat.com/prob/p179960 and learned a great
deal about how Python 2 and Python 3 handle integer division and rounding differently, e.g.
Python 3's built-in round() function uses Banker's rounding (also known as "round half to even").
Participants: Jake, Luke, Lucas, and Dr. Lu
Lucas worked on the "round_sum" problem https://codingbat.com/prob/p179960
Luke solved the following problems:
- #1282 https://leetcode.com/problems/group-the-people-given-the-group-size-they-belong-to/description/
- #3 https://leetcode.com/problems/longest-substring-without-repeating-characters/description/
Jake solved #179 https://leetcode.com/problems/largest-number/description/
Participants: Jake, Luke, Lucas, and Dr. Lu
Lucas solved many problems in the Python track on https://codingbat.com/python
Luke solved problem #1038 on leetcode https://leetcode.com/problems/binary-search-tree-to-greater-sum-tree/description/ and started on another one.
Jake solved the following problems on leetcode:
- https://leetcode.com/problems/minimum-bit-flips-to-convert-number/description/
- https://leetcode.com/problems/insert-greatest-common-divisors-in-linked-list/description/
- https://leetcode.com/problems/split-linked-list-in-parts/description/
- https://leetcode.com/problems/spiral-matrix-iv/description/
Participants: Josiah, Jake, Luke, Lucas, and Dr. Lu
Josiah, Jake, Luke worked together on the following problems on leetcode:
- https://leetcode.com/problems/number-of-pairs-of-interchangeable-rectangles/description/
- https://leetcode.com/problems/repeated-substring-pattern/description/
- https://leetcode.com/problems/sum-of-digits-of-string-after-convert/description/
Lucas worked on exercise problems on codingbat. He found out the "Python Basics" learning path on realpython.com is not completely free. The Python for Everybody at https://www.py4e.com/ is completely free and it is also featured on freecodecamp.org at https://www.freecodecamp.org/learn/python-for-everybody/
Participants: Josiah, Jake, Luke, Lucas, Alex, Jayna, and Dr. Lu
Josiah, Jake, Luke worked together on some past contest problems and brainstormed about hackthons.
Lucas will work with Alex to gain working knowledge of Python as quickly as possible. Lucas started with the Python track on codingbat: https://codingbat.com/python Other good resources include:
- "Python Basics" learning path on realpython.com at https://realpython.com/learning-paths/python-basics/
- "Legacy Python for Everybody" course on freecodecamp.org at https://www.freecodecamp.org/learn/python-for-everybody/
- https://replit.com/~ is good online coding playground for Python and many other languages.
Jayna will work with Dr. Lu to create a practice plan as she had to leave early for band pratice. "Leetcode 75" study plan at https://leetcode.com/studyplan/leetcode-75/ should be a good starting point.
Participants: Elijah, Josiah, Jake, and Dr. Lu
Elijah, Jake, and Josiah worked on some problems on https://leetcode.com/
Dr. Lu had to copy (practicing what he preached) the solution code to the "Crypt Kicker" problem twice to understand it well enough to reproduce it from scratch: https://www.martystepp.com/acm/problems/843-crypt-kicker/Solution.java
Participants: Elijah, Josiah, and Dr. Lu
Elijah and Josiah worked on the "Two Sum" problem on https://leetcode.com/
Dr. Lu tried to reproduce the solution to "Crypt Kicker" at https://www.martystepp.com/acm/problems/843-crypt-kicker/Solution.java
Participants: Elijah, and Dr. Lu
Elijah and Dr. Lu studied the solution to "Crypt Kicker" at https://www.martystepp.com/acm/problems/843-crypt-kicker/Solution.java
Participants: Jake, Elijah, and Dr. Lu
Jake and Elijah worked on Crypt Kicker from the second chapter of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf
Participants: Josiah, Jake, Elijah, and Dr. Lu
Josiah, Jake and Elijah worked on some problems from the second chapter of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf
The UVA judge "Runtime Error" issue was solved. The judge only accepts Java solutions defined in a class named "Main" and hands out a "Runtime Error" verdict for all other class names.
Participants: Josiah, Jake, Elijah, and Dr. Lu
Jake and Elijah abandoned the "Poker Hands" problem because it is very tedious.
Josiah, Jake and Elijah solved the "Hartals" problem from the second chapter of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf, but the UVA judge gives a "Runtime Error" verdict.
Josiah found a great training resource https://github.com/PuzzlesLab/UVA/tree/master/King, which has solutions to many UVA problems along with training videos.
Participants: Jake, Elijah, and Dr. Lu
Jake and Elijah worked on the "Poker Hands" problem from the second chapter of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf
Participants: Jake, Elijah, and Dr. Lu
Jake and Elijah solved the "Jolly Jumpers" problem from the second chapter of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf
Participants: Jake, Elijah, Ryan, and Dr. Lu
Jake and Elijah studied the "Australian Voting" solution in functional style Java from this solution manuel along with a list of tutorials.
Ryan came in late and joined the fun.
Participants: Josiah, Jake, Elijah, Ryan, and Dr. Lu
Elijah and Ryan worked on the "Australian Voting" problem from http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf.
Josiah and Jake solved the "Australian Voting" problem.
Participants: Josiah, Jake, John, Luke, Kaden, and Dr. Lu
Josiah and Jake worked on the "Australian Voting" problem from http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf.
Luke and Kaden studied the various sieve methods for the "Largest Prime Factor" problem on project euler https://projecteuler.net/problem=3
Participants: Andrew, Josiah, Jake, Elijah, Deacon, and Dr. Lu
A team was formed for the CCSC hackathon https://www.ccsc.org/centralplains/hackathon/. It consists of Andrew, Josiah, Jake, Elijah, and Nick.
Andrew worked on picking problems for the upcoming highschool programming contest.
In preparation for the hackathon, Elijah and Jake asked chatGPT to write a "blocky world game" and get the result code to work with a few edits.
Participants: Andrew, Jake, Elijah, and Dr. Lu
Andrew worked on picking problems for the upcoming highschool programming contest.
Jake solved the "Check the Check" problem from http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf.
Somehow, we were drawn to islands near Alaska on Google map and played a round of geoguesser at https://www.geoguessr.com/
Participants: Andrew, Josiah, Jake, Elijah, Deacon, and Dr. Lu
Andrew and Josiah worked on 2022 Mid Central problme set and showed the other team the solution to "Hunt the Wumpus" problem.
Jake, Elijah, and Deacon worked on the "Check the Check" problem from http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf.
Participants: Andrew, Josiah, and Dr. Lu
Andrew and Josiah worked on 2020 North Central problme set and solved problem I.
Participants: Andrew, Josiah, Jake, Elijah, Deacon, Ryan, and Dr. Lu
Andrew and Josiah worked on 2020 North Central problme set and solved problems A and K.
Jake, Elijah, and Ryan worked on the "Interpreter" problem from http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf. Deacon worked on the "Check the Check" problme from the same book.
Participants: Andrew, Josiah, Jake, Elijah, John, Derrick, and Dr. Lu
Andrew and Josiah worked on 2020 North Central problme set and solved problems D, E, and H.
Jake, Elijah, and John worked on the "Interpreter" problem from http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf. Derrick solved the "3n+1" problme from the same book.
Dr. Lu registered "SBU purple" and "SBU violet" teams for 2022 ICPC Mid-central contest (Feb. 25 1-6pm at SBU).
Andrew recommended the following material (printed) to bring to the contest:
- A math formula sheet(e.g. this one, though it is much longer than you would ever need)
- A textbook in the programming language you are going to use (if you have one)
- Lots of previous example problems (here are a bunch of my old solutions)
- A few key algorithms, especially Dijkstra's, could be useful to have (I have a couple versions in that repository)
- An ASCII table
- That should cover a lot of it for people. Obviously, the more you bring, the better prepared you will be. Too much stuff can make it hard to search through though. At least people should bring an example program that takes input, does something with it, and gives output. That will help with the brain farts that happen in competition when people forgot how to use a scanner.
Participants: Andrew, Joel, Jake, and Dr. Lu
Andrew and Joel solved the "Tree Number Generator" problem!
Jake solved the "Graphical Editor" problem.
Participants: Andrew, Joel, Elijah, Jake, Ryan, and Dr. Lu
Andrew shared with the group his solution to "Bracket Pairing".
Team A (Andrew) started on the "Tree Number Generator" problem!
Team B (Joel) worked with Andrew.
Team C (Jake, Elijah, Ryan) worked on the "Graphical Editor" problem from chapter 1 of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf and had a lot of fun.
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, Deacon, and Dr. Lu
Team A (Andrew, Drew, Josiah) solved the "Bracket Pairing" problem!
Team B (Joel) solved the "code guessing" problem.
Team C (Jake, Elijah, Deacon) solved the "LCD Display" problem from chapter 1 of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf.
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, Deacon, and Dr. Lu
Team A (Andrew, Drew, Josiah) continued tinkering on the "Bracket Pairing" problem and "found another way not to make a light bulb".
Team B (Joel) worked on a contest problem.
Team C (Jake, Elijah, Deacon) solved the "Trip" problem from chapter 1 of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf.
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, John, Deacon, and Dr. Lu
Team A (Andrew, Drew, Josiah) continued tinkering on the "Bracket Pairing" problem.
Team B (Joel, John) solved the "Ultimate Binary Watch" and the "Concert Rehearsal" problems from https://ncna21.kattis.com/contests/ncna21/problems
Team C (Jake, Elijah, Deacon) solved the "Minesweeper" problem from chapter 1 of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf and learned an important lesson on "presentation error".
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, John, and Dr. Lu
Team A (Andrew, Drew, Josiah, Joel) tinkered on the "Bracket Pairing" problem.
Team B (Joel, John) solved the "Espresso" problem.
Team C (Jake, Elijah) solved the "3n+1" from chapter 1 of http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf. The solution was accepted on https://onlinejudge.org/
Participants: Andrew, Joel, Elijah, Jake, Deacon, and Dr. Lu
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, Deacon, Jacob, and Dr. Lu
Team A (Andrew, Drew, Josiah, Joel) solved the "Parking Lot" problem, hooray!
Team B (Joel, Jacob), chewed on "Lone Rook" problem.
Team C (Jake, Elijah, Deacon) chewed on "Lone Rook" problem.
Dr. Lu worked on a plan to go over a book solving and studying typical contest problems. Here are the resources:
- Book http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf
- Judging site https://onlinejudge.org/
- Debugging site https://www.udebug.com/
Dr. Lu worked on the "3n+1" at the end of chapter 1. If you are interested, please give it a try to see whether you can pass the judge (https://onlinejudge.org/). Dr. Lu ran into some interesting problems and has a "mystery" for you to solve (two seemingly equivalent solutions, one passes the judge and the other fails). Solutions to the problems and related discussions will appear in this repository: https://github.com/sbunivedu/ICPC_practice
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, Deacon, and Dr. Lu
All three teams continued working on the 2021 North Central Regional problem set.
Team A (Andrew, Drew, Josiah, Joel) three-quarter-solved the "Parking Lot" problem.
Team C (Jake, Elijah, Deacon) worked on "Lone Rook" problem.
Here are some books and training sites for competitive programming.
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, John, Jacob, Calvin, and Dr. Lu
All three teams continued working on the 2021 North Central Regional problem set.
Team A (Andrew, Drew, Josiah) half-solved the "Parking Lot" problem and worked on the "Bracket Pairing" problem.
Team B (Joel, John, Calvin, Jacob) re-solved "Stream Lag" and solved "Code Guessing".
Team C (Jake, Elijah) solved "Subprime" for the sample test cases, but the solution is not efficient for larger test cases.
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, John, and Dr. Lu
All three teams continued working on the 2021 North Central Regional problem set.
Team A (Andrew, Drew, Josiah) solved the "Land Equality" problem and worked on the "Subprime" problem.
Sieve of Eratosthenes is an efficient method (O(nlogn)) for finding all primes numbers up to a limit.
Here is a commentary on the problem set.
Team B (Joel, John) solved "Stream Lag".
Team C (Jake, Elijah) solved "Stream Lag" and "Code Guessing".
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, Jacob, and Dr. Lu
Three team were formed to work on the 2021 North Central Regional problem set.
Team A (Andrew, Drew, Josiah) solved Ultimate Binary Watch (solution for Team C to look at), Espresso!, Code Guessing, Stream Log.
Team B (Joel, Jacob) solved Ultimate Binary Watch.
Team C (Jake, Elijah) solved Ultimate Binary Watch and Espresso!.
Team A plans to practice on this problem set next week aiming to solve harder problems.
We discovered similar problem sets that can be used for future practice:
North Central
- https://ncna21.kattis.com/contests/ncna21/problems
- https://ncna20.kattis.com/contests/ncna20/problems
- https://ncna19.kattis.com/contests/ncna19/problems
East Central
- https://ecna21.kattis.com/contests/ecna21/problems
- https://ecna20.kattis.com/contests/ecna20/problems
- https://ecna19.kattis.com/contests/ecna19/problems
Northeast
- https://nena21.kattis.com/contests/nena21/problems
- https://nena20.kattis.com/contests/nena20/problems
- https://nena19.kattis.com/contests/nena19/problems
World finals problems https://icpc.global/worldfinals/problems
ICPC regionals in north America are defined as follows https://icpc.global/regionals/finder/na
Participants: Andrew, Drew, Joel, Josiah, Elijah, Jake, and Dr. Lu
Andrew gave short introductions to the different competitions we participate in (ICPC, CCSC, and Federal Reserve Bank Code-A-Thon).
Andrew talked through the following two problems (one easy, one hard) as examples of ICPC style competition problems:
- Basketball One-on-One from 2019 ICPC Mid-Central Regional
- Crazed Boar from 2019 ICPC Mid-Central Regional
The next Mid-Central Regional will take place in spring 2023 (Feb., or March). The team wants to find another competition to go to this fall or have skirmishes among our own teams.
Joel showed Elijah and Jake how to practice coding on LeetCode. Joel also showed cased some cool games he wrote on Khan Academy when he was in high school.