cpbook.net Open in urlscan Pro
139.59.240.182  Public Scan

Submitted URL: http://cpbook.net/
Effective URL: https://cpbook.net/
Submission: On January 12 via api from US — Scanned from SG

Form analysis 0 forms found in the DOM

Text Content

 * Home
 * MtS
 * Details
 * Errata
 * Repo
 * Buy CP4 - Book 1
 * Buy CP4 - Book 2


COMPETITIVE PROGRAMMING



--------------------------------------------------------------------------------


BREAKING NEWS (01 FEBRUARY 2023)

One of the authors of Competitive Programming book is part of the launch of the
new Centre for Nurturing Computing Excellence (CeNCE)


BREAKING NEWS (19 AUGUST 2022)

Finally, after two years and one month of exclusive printed-book only (19 July
2020-19 August 2022), we (CP4 book authors, Felix Halim, Suhendry Effendy) have
decided to sell the (same) PDF source as eBook. There is no edit compared to the
version published in 2020 (i.e., these two PDFs are the original version
published back in 19 July 2020), but all known errata has been listed at Errata
section.

So if your country/region does not have access to lulu distribution centers or
if the shipping cost is too much to bear or if the printed font size is too
small for your liking (but you have Internet access and credit card), then pick
these alternative options:

 * Buy Book 1 (eBook/PDF)
 * Buy Book 2 (eBook/PDF)

PS: The eBook versions are 2 USD cheaper than the printed versions.

--------------------------------------------------------------------------------

This is the companion web site for a book: "Competitive Programming 4: The Lower
Bound of Programming Contests in the 2020s" (click here for details) and its
three past editions written by myself (Steven Halim - UVa status, Kattis status,
and also Clist open kattis status), my younger brother (Felix Halim - UVa
status, Kattis status), and my friend (Suhendry Effendy - UVa status, Kattis
status) in 2010 - present. This book is used in my course in School of
Computing, National University of Singapore: CS3233 - Competitive Programming
(2009-present) and available for wider audiences since 2010. This book contains
a collection of competitive programming skills gained by solving more than 3500+
UVa (1999-present) plus Kattis (2015-present) online judge problems and being
involved in the ICPCs (since 2001) and the IOIs (since 2009) in various roles:
contestants (long ago), coaches, judges, ICPC Regional Contest Director (2015,
2018), and/or IOI International Committee member (2020-2021).


OBJECTIVES

Our objective in writing this book is similar with the IOI objective+ICPC
vision: to further improve humanity by training current students to be more
competitive in programming contests. The possible long term effect is future
Computer Science researchers who are well versed in problem solving skills. We
use C++ (primary), Python (secondary), Java (tertiary), and OCaml (optional)
code to illustrate the algorithmic concepts, i.e., we dislike vague pseudo-code
commonly found in many other Computer Science textbooks. We also built and
heavily use our-own visualization tool: VisuAlgo to help explain the data
structure and algorithm concepts to our book readers and beyond.


TARGET AUDIENCES

This Competitive Programming book, 4th edition (CP4) is a must have for every
competitive programmer. Mastering the contents of this book is a necessary (but
admittedly not sufficient) condition if one wishes to take a leap forward from
being just another ordinary coder to being among one of the world's finest
competitive programmers.

 * CP4, Book 1 (Chapter 1-4):
   * Secondary or High School Students who are competing in the annual
     International Olympiad in Informatics (IOI) (including the National or
     Provincial Olympiads) as Book 1 covers most of the current IOI Syllabus,
   * Casual University students who are using this book as supplementary
     material for typical Data Structures and Algorithms courses,
   * Anyone who wants to prepare for typical fundamental data
     structure/algorithm part of a job interview at top IT companies.
 * CP4, Book 1+2 (Chapter 1-9):
   * University students who are competing in the annual International
     Collegiate Programming Contest (ICPC) Regional Contests (including the
     World Finals) as Book 2 covers much more Computer Science topics that have
     appeared in the ICPCs,
   * Teachers or Coaches who are looking for comprehensive training materials,
   * Anyone who loves solving problems through computer programs. There are
     numerous programming contests for those who are no longer eligible for
     ICPC, including Google CodeJam, Facebook Hacker Cup, TopCoder Open,
     CodeForces contest, Internet Problem Solving Contest (IPSC), etc.

--------------------------------------------------------------------------------


FOREWORDS FOR CP4

"The authors are seasoned competitive programming experts who have dedicated
decades of work to help at all levels of the sport." — Bill Poucher, ICPC
Executive Director and President of ICPC Foundation Read

"Steven, Felix, Suhendry in the past two decades, have grown from contestants,
to coaches and, finally, masters in the art of competitive programming." —
Miguel Revilla Rodríquez, (UVa) Online Judge Manager Read

"'Competitive Programming' and Kattis share this motivating principle: to make
learning computer science and programming accessible for everyone." — Fredrik
Niemelä, Founder of Kattis Read

"Both academia and industry are now filled with present-day superstars who were
formerly superstars in competitive programming." — Brian Christopher Dean,
Director, USA Computing Olympiad Read

Previous Next

--------------------------------------------------------------------------------


SELECTED TESTIMONIALS FOR CP1/2/3

"Competitive Programming 3 has contributed immensely to my understanding of data
structures & algorithms. Steven & Felix have created an incredible book that
thoroughly covers every aspect of competitive programming, and have included
plenty of practice problems to make sure each topic sinks in. Practicing with
CP3 has helped me nail job interviews at Google, and I can't thank Steven &
Felix enough!"

Troy Purvis, Software Engineer @ Google

"Steven and Felix are passionate about competitive programming. Just as
importantly, they are passionate about helping students become better
programmers. CP3 is the result: a dauntless dive into the data structures,
algorithms, tips, and secrets used by competitive programmers around the world.
Yet, when the dust settles on the book, the strongest sillage is likely to be
one of confidence---that, yes, this stuff is challenging, but that you can do
it."

Dr. Daniel Zingaro, Associate Professor Teaching Stream, University of Toronto
Mississauga

"CP-Book helped us to train many generations of ICPC and IOI participants for
Bolivia. It's the best source to start and reach a good level to be a
competitive programmer."

Jhonatan Castro, ICPC coach and Bolivia IOI Team coach, Universidad Mayor de San
Andrés, La Paz, Bolivia

"Reading CP3 has been a major contributor to my growth, not just as a
competitive programmer, but also as a computer scientist. My entire approach to
problem solving has been improved by doing the exercises in the book; my passion
for the art of problem solving, especially in contest environments, has been
intensified. I now mentor several students using this book as a guide. It is an
invaluable resource to anyone who wants to be a better problem solver."

Ryan Austin Fernandez, Assistant Professor, De La Salle University, Manila,
Philippines

"I rediscovered CP3 book on 2017-2019 when I come back to Peru after my master
in Brazil, I enjoyed, learned and solved many problems, more than during my
undergraduate, coaching and learning together in small group of new students
that are interesting in competitive programming. It kept me in a constantly
competition with them, at the end they have solved more problems than me."

Luciano Arnaldo Romero Calla, PhD Student, University of Zurich

"CP1 helped my preparation during national team training and selection for
participating the IOI. When I took the competitive programming course in NUS,
CP2 book is extensively used for practice and homework. The good balance between
the programming and theoretic exercises for deeper understanding in the book
makes CP book a great book to be used for course references, as well as for
individual learning. Even at the top competitive programming level, experts can
still learn topics they have not learnt before thanks to the rare miscellaneous
topics at the end of the book."

Jonathan Irvin Gunawan, Software Engineer, Google

"Dr. Steven Halim is one of the best professors I have had in NUS. His intuitive
visualizations and clear explanations of highly complex algorithms make it
significantly easier for us to grasp difficult concepts. Even though I was never
fully into Competitive Programming, his book and his teaching were vital in
helping me in job interviews and making me a better coder. Highly recommend CP4
to anyone looking to impress in software engineering job interviews."

Patrick Cho, Machine Learning Scientist, Tesla

"Flunked really hard at IOI 2017, missing medal cutoff by 1 place. Then at the
beginning of 2018 Steven Halim gave me a draft copy of CP3.1 / CP4 and I ended
up getting a gold medal!"

Joey Yu, Student, University of Waterloo, SWE Intern at Rippling, IOI 2018 Gold
Medalist

"As a novice self-learner, CP-book helped me to learn the topics in both fun and
challenging ways. As an avid and experienced CP-er, CP-book helped me to find a
plentiful and diverse problems. As a trainer, CP-book helped me to plan ahead
the materials and tactical strategies or tricks in competition for the students.
As the person ever in those three different levels, I must effortlessly say
CP-book is a must-have to being a CP master!"

Ammar Fathin Sabili, PhD Student, National University of Singapore

"I've been in CP for three years. A rookie number for all the competitive
programmers out there. I have a friend (still chatting with him today) who
introduced me to this book. He's my roommate on our National Training Camp for
IOI 2018's selection. I finally get a grab of this book in early 2019. To be
honest I'm not the 'Adhoc' and good at 'Math' type of CP-er. I love data
structures, graph (especially trees) And this CP3 book. Is a leap of knowledge.
No joke. I met Dr Felix when I was training in BINUS, I also met Dr Steven when
I competed in Singapore's NOI and one of my unforgettable moment is, this legend
book got signed by its two authors. Even tho the book is full of marks and
stains, truly one of my favorite. Kudos for taking me to this point of my life."

Hocky Yudhiono, Student, University of Indonesia

"I bought CP3 on 7th April 2014 on my birthday as a gift for myself and it has
been the most worth-it 30USD spent by me on any educational material. In the
later years, I was able to compete in IOI and ICPC WF. I think CP3 played a very
big factor in igniting the interest and providing a strong technical foundation
about all the essential topics required in CP."

Sidhant Bansal, Student, National University of Singapore

"I have always wanted to get involved in competitive programming, but I didn't
know how and where to get started. I was introduced to this book while taking
Steven's companion course (CS3233) in NUS as an exchange student, and I found
the book to be really helpful in helping me to learn competitive programming. It
comes with a set of Kattis exercises as well. This book provides a structured
content for competitive programming, and can be really useful to anyone ranging
from beginners to experts. Just like CLRS for algorithms, CP is THE book for
competitive programming."

Jay Ching Lim, Student, University of Waterloo

"My memories about CP3 is me reading it in many places, the bus, my room, the
library, the contest floor...not much time had passed since I start in
competitive programming reading CP3 until I got qualified to an ICPC World
Final"

Javier Eduardo Ojeda Jorge, ICPC World Finalist, Universidad Mayor de San Simón,
Software Engineer at dParadig, Chile

"My name is Alisia Maria Lupidi and I am an ICPC contestant. I take part in the
SWERC and this month (July 2020) I won the gold medal at the Girls ICPC ACPC. My
boyfriend, who is a bronze medalist at the SWERC, gave me the CP4 yesterday (30
July) as a present for my birthday (soon). I would like you to know how
important your work is for us contestants and to thank you for writing the best
birthday present ever!"

Alisia Maria Lupidi, Gold medalist of Girls ICPC ACPC July 2020
Previous Next

--------------------------------------------------------------------------------


AUTHORS' PROFILES

Steven Halim is a Senior Lecturer in the National University of Singapore Read

Felix Halim is a Senior Software Engineer at Google, Mountain View, USA Read

Suhendry Effendy is a Research Fellow in the National University of Singapore
Read

Previous Next

--------------------------------------------------------------------------------


IMPORTANT NEWS

Friday, 11 June 2021: After 1.5 more years of additional translations by Miguel
Revilla Rodriquez (since 01 January 2020), CP4 Book 1 and 2 are now available in
Spanish language. Here are the Amazon Book 1 link and Amazon Book 2 link.

Wednesday, 01 January 2020: CP3 (2013 edition with a bit of 2018 upgrade) is now
available in Spanish language. If you are a Spanish-speaking programmer, we
recommend that you get the Spanish version that has been translated over the
past 1+ year by Miguel Revilla Rodriquez (the current admin of (UVa) Online
Judge). Here is the Amazon Link, ISBN: 978-1711024813. [Updated remarks on 11
June 2021]: Now that CP4 version is fully available in Spanish, I suggest that
you go for the latest version :).


Tuesday, 24 October 2017: CP3 is now available in Korean language. If you are
Korean, we recommend that you get the Korean version that has been translated
over the past 1+ year by lewha0. Here is the publisher link: Insight Book,
Korea.

FOREWORD BY BILL POUCHER, ICPC EXECUTIVE DIRECTOR AND PRESIDENT OF ICPC
FOUNDATION

INTRODUCTION

In 1970, the Texas A&M UPE Honor Society hosted the first university competitive
programming competition in the history of the ICPC. The first Finals was held in
1977 in Atlanta in conjunction with the Winter Meeting of the ACM Computer
Science Conference. The ICPC International Collegiate Programming Contest hosted
regional competitions at 643 sites in 104 countries for 59,000 team members and
their 5043 coaches from over 3400 universities that span the globe. The top 135
teams of three will advance to the ICPC World Finals in Moscow hosted by MIPT
scheduled for June 2021.

ICPC alumni number over 400,000 worldwide, many playing key roles in building
the global digital community for many decades. The ICPC is the root of
competitive programming that reaches out through the global digital community to
persons from all cultures and in increasingly-younger generations.

The UVa Online Judge opened the doors for online competition and access to ICPC
problems under the direction of Professor Miguel Ángel Revilla. Three of the
star-studded team are Steven Halim, Felix Halim, and Suhendry Effendy, authors
of Competitive Programming 4, Book 1 and Book 2. Their work will be honored at
the ICPC World Finals in Moscow hosted by MIPT with a special award from the
ICPC Foundation.

COMPETITIVE PROGRAMMING

What is competitive programming and why should you get involved? First and
foremost, it's a mind sport. It more fully develops your algorithmic reasoning
skills and bridges the gap between theory and application in bite-sized chunks.
Full participation develops problem-solving intuition and competence. Get ready
for the Digital Renaissance that will shape your world in the coming decades. To
understand the landscape, it is important to shape your mind beyond a swarm of
buzzwords. Do it as a team sport.

HOW DO WE GET STARTED?

Start with Competitive Programming 4, Book 1 and Book 2. Start with Book 1 first
:). The authors are seasoned competitive programming experts who have dedicated
decades of work to help at all levels of the sport.

In parallel, engage in a culture that develops habits excellence. You are the
first generation that has never been disconnected. Being connected is best when
we bind our strengths together in common cause. Do that and prepare to meet the
challenges that will define your generation.

Life needs you. We are born to compete. We compete best when we compete
together, in good faith, in goodwill, and with good deeds. When you come to
college, consider the ICPC and the new program ICPC University Commons that will
provide a spectrum of activities that happen outside of the classroom. You can
visit https://icpc.global for details.

WHY GET STARTED?

Is developing your problem-solving skills important? Yes. Is preparing for a
future engaged in the global digital community important? Yes. Is following T.S.
Elliot's advice that to fully develop you must go too far? Yes. Do that in
competitive programming. Be careful of pursuits that are not reversible.

Is competitive programming practical? Aristotle asserted that there is nothing
more practical than engaging in mental activities and reflections which have
their goal in themselves and take pace for their own sake. Let me recommend that
you engage your spirit in building a more beautiful world. In the immense scope
of life, abundant small kindnesses make a difference. Find friends with common
interest and embrace this cycle: "Repeat for a lifetime: Study; Practice;
Rehearse; Dress Rehearse; Perform."

It works for athletes.
It works for musicians.
It works for all performance arts.
It will work for you.

Best, Bill

Close

FOREWORD BY MIGUEL REVILLA RODRÍQUEZ, (UVA) ONLINE JUDGE MANAGER

Almost 20 years ago (on November 11th, 2003, to be precise), my father (Miguel
Ángel Revilla) received an e-mail with the following message: "I should say in a
simple word that with the UVa Site, you have given birth to a new CIVILIZATION
and with the books you write (he meant "Programming Challenges: The Programming
Contest Training Manual", coauthored with Steven Skiena), you inspire the
soldiers to carry on marching. May you live long to serve the humanity by
producing super-human programmers."

What, in my father's words, was "clearly an exaggeration", caused some thinking.
And it's not a secret that thoughts can easily lead to dreams. His dream was to
create a community around the project he had started, as part of his teaching
job at the University of Valladolid, Spain, that gathered people from all around
the world working together towards the same ideal, the same quest. With a little
searching, on the primitive Internet of the first years of our century, a whole
online community of excellent users and tools, built around the UVa site, came
to light.

The website Methods to Solve, created by a very young student from Indonesia,
was one of the most impressive among them. There was the result of the hard work
of a real genius of algorithms and computer science. The seed was planted to
believe that the dream could come true. Moreover, it was not only that the
leaves of that growing tree were a perfect match, but the root of both projects
were exactly the same: to serve the humanity. That young student, the author of
the e-mail and the website that put my father to dream, was Steven Halim. Later
he would discover that Steven was not alone in his quest, as his younger
brother, Felix, shared his view, his interests, and his extraordinary
capabilities.

After 15 years of fruitful collaboration and, more important, friendship with
Steven and Felix, my father sadly passed away in 2018. His work, and his dreams,
now belong to us, the next generation. This book is the living proof that the
dream has become true.

"I can't imagine a better complement for the UVa Online Judge", are my father's
words. Now, with this fourth version of Competitive Programming in my hands, I
can add that I can't imagine the very existence of the Online Judge without this
book. Both projects have grown in parallel and are, no doubt, perfect
complements and companions to each other. By practicing and mastering most
programming exercises in this book, the reader can learn how to solve hundreds
of tasks and find a place in the top 500 best Online Judge coders. You have in
your hands over 2000 (yes, two thousand!) selected, classified, and carefully
commented problems from the Online Judge.

The authors, in the past two decades, have grown from contestants, to coaches
and, finally, masters in the art of competitive programming. They perfectly know
every curve and crossroad in that long path, and they can put themselves in the
skins of the young IOI contestant, the ICPC newcomer or the seasoned coach,
speaking to each in their own language. This book is, for that very reason, the
perfect reading for all of them. No matter if you are starting as a competitive
programmer in your local IOI, or are coaching in the next ICPC World Finals, no
doubt this IS the book for you.

I love movies, I adore classic movies, and I know that what I'm watching is a
masterpiece, when, after the film ends, I can't wait to start all over again. In
Steven and Felix own words "the book is not meant to be read once, but several
times". And you will find that same feeling, not only because the authors
recommend it, but because you will be anxious to read and re-read it as, like in
the greatest movies, you will find something new and amazing each time. This
book is, by that logic, a masterpiece.

I also have the great honor of being the Spanish language translator of this
book. Translating requires a very meticulous process of converting the words
while keeping the spirit. You have to think as the author would think, and have
to perfectly understand not only what the author is saying, but also what the
author is meaning. It is a handcrafting exercise. Having gone forth and back
through this text hundreds of times, I have enjoyed every concept, every new
idea, and every tip, not only by what is written in it, but also by what it
wants to achieve. The quest of making better programmers and, behind that, the
quest of serving humanity. This book is, indeed, a truly masterpiece.

Once you've read this book several times, you will realize how much a better
programmer you are but, believe it or not, you will realize that you are also a
happier person.

Close

FOREWORD BY FREDRIK NIEMELÄ, FOUNDER OF KATTIS

I got my first physical copy of this book from Steven at IOI 2012 in Italy. Like
so many other computer scientists, he has a great sense of humor, and named it
"Competitive Programming: Increasing the Lower Bound of Programming Contests."
It was the second edition of the book and already twice the size of the first
edition. Packed with practical advice, it was well-suited to get beginners
started and had useful material for the more seasoned algorithmist.

Steven and Felix's vision for their book was to teach everybody how to program
(As Gusteau from Ratatouille would put it: "Tout le monde peut programmer"). I
had a similar vision, but instead of writing a book, we created Kattis.
"Competitive Programming" and Kattis share this motivating principle: to make
learning computer science and programming accessible for everyone. In that
sense, they are like two of many pieces in the same puzzle.

Kattis is an online tool for teaching computer science and programming, which
relies on a curated library of programming tasks. I managed to convince Steven
that he should try using Kattis for some of his teaching activities. Over the
years he has moved from using Kattis, to pushing us to improve Kattis, to adding
high-quality content to Kattis.

From years of teaching algorithms and using similar systems that preceded
Kattis, we learned that the quality of the problems, and their absolute
correctness, are paramount for learning outcomes. So, this is where we put extra
effort into Kattis. (If you ever felt that it's too much work to add problems to
Kattis, this is why). What we did back then is now standard practice---both the
ICPC and IOI use the same kinds of methods for their finals.

In this fourth edition (more than twice as large as the second edition!), Steven
and Felix, now joined by co-author Suhendry, are using problems from Kattis. We
are honored to be included. Finally, our puzzle pieces are directly connected,
and I am very excited about that.

I hope you will find this book informative and helpful and that you will spend
the time it asks of you. You will not be disappointed.

Close

FOREWORD BY BRIAN CHRISTOPHER DEAN, DIRECTOR, USA COMPUTING OLYMPIAD

I've had the privilege to be part of the competitive programming world for more
than three decades, during which time I've seen the field grow substantially in
terms of its impact on modern computing. As director of the USA Computing
Olympiad and coach of my University's ICPC teams, I have seen firsthand how
competitive programming has become a key part of the global computing talent
pipeline - both academia and industry are now filled with present-day superstars
who were formerly superstars in competitive programming.

Just as the world of competitive programming has shown tremendous growth in
scope, depth, and relevance, so too has this text, now in its fourth edition.
Earlier editions of this book provided what I consider to be the gold standard
for both an introduction and a thorough reference to the algorithmic concepts
most prevalent in competitive programming. The same remains true for this
edition.

Competitive programming can be a daunting undertaking for the novice student -
learning to code is plenty challenging by itself, and on top of this we add a
layer of "standard" algorithms and data structures and then another layer of
problem-solving insight and tricks. This text helps the introductory student
navigate these challenges in several ways, by its thoughtful organization,
extensive practice exercises, and by articulating ideas both in clear prose and
code. Competitive programming can also be a daunting prospect for the advanced
student due to its rapid pace of evolution - techniques can go from cutting-edge
to commonplace in a matter of just a few years, and one must demonstrate not
only proficiency but true mastery of a formidable and ever-expanding body of
algorithmic knowledge. With its comprehensive algorithmic coverage and its
extensive listing of 3458 categorized problems, this text provides the advanced
student with years of structured practice that will lead to a high baseline
skill level.

I think this is a book that belongs in the library of anyone serious about
computing, not just those training for their first or their hundredth
programming competition. Ideas from competitive programming can help one develop
valuable skills and insight - both in theory and implementation - that can be
brought to bear on a wide range of modern computing problems of great importance
in practice. Algorithmic problem solving is, after all, truly the heart and soul
of computer science! These types of problems are often used in job interviews
for a good reason, since they indicate the type of prospective employee who has
a skill set that is broadly applicable and that can adapt gracefully to changes
in underlying technologies and standards. Studying the concepts in this text is
an excellent way to sharpen your skills at problem solving and coding,
irrespective of whether you intend to use them in competition or in your other
computational pursuits.

I've thoroughly enjoyed reading successive drafts of this updated work shared
with me by the authors at recent IOIs, and I commend the authors on the
impressive degree to which they have been able extend the scope, clarity, and
depth of an already-remarkable text.

Close

DR STEVEN HALIM, STEVENHALIM AT GMAIL DOT COM

Steven Halim is a senior lecturer in the School of Computing, National
University of Singapore (SoC, NUS). He teaches several programming courses in
NUS, ranging from basic programming methodology, intermediate to hard data
structures and algorithms, web programming, and also the 'Competitive
Programming' module that uses this book.

He is the coach of both the NUS ICPC teams and the Singapore IOI team. He
participated in several ICPC Regionals as a student (Singapore 2001, Aizu 2003,
Shanghai 2004). So far, he and other trainers at NUS have successfully groomed
various ICPC teams that won twelve different ICPC Regionals (see the list of
Regionals wins below), advanced to ICPC World Finals twelve times (2009-2010;
2012-2021) with current best result of Joint-14th in ICPC World Finals Phuket
2016 (see the top 3 World Finals results below), as well as ten gold,
twenty-three silver, and sixteen bronze IOI medalists (2009-2021).

He is also the Regional Contest Director of ICPC Asia Singapore 2015+2018 and is
the Deputy Director+International Committee member for the IOI 2020+2021 in
Singapore (both online competitions due to COVID-19). He has been invited to
give international workshops about ICPC/IOI at various countries, e.g., Bolivia
ICPC/IOI camp in 2014, Saudi Arabia IOI camp in 2019, Cambodia NOI camp in 2020.

Steven is happily married to Grace Suryani Tioso and has two daughters and one
son: Jane Angelina Halim, Joshua Ben Halim, and Jemimah Charissa Halim.

ICPC Reg # Year(s) Asia Jakarta 7 2013 (ThanQ), 2014 (ThanQ+), 2015
(RRwatameda), 2017 (DomiNUS), 2019 (Send Bobs to Alice), 2020 (MLG), 2021 (7
Halim) Asia Manila 2 2017 (Pandamiao), 2019 (7 Halim) Asia Nakhon Pathom 1 2018
(Pandamiao) Asia Yangon 1 2018 (3body2) Asia Kuala Lumpur 1 2019 (3body3)

ICPC WF Team Name Rank Year Phuket, Thailand RRwatameda Joint-14/128 2016
Ekaterinburg, Russia ThanQ+ Joint-19/122 2014 Rapid City, USA TeamTam
Joint-20/133 2017

Close

DR FELIX HALIM, FELIX.HALIM AT GMAIL DOT COM

Felix Halim is a senior software engineer at Google. While in Google, he worked
on distributed system problems, data analysis, indexing, internal tools, and
database-related stuff.

Felix has a passion for web development. He created uHunt to help UVa online
judge users find the next problems to solve. He also developed a crowdsourcing
website, https://kawalpemilu.org, to let the Indonesian public to oversee and
actively keep track of the Indonesia general election in 2014 and 2019.

As a contestant, Felix participated in IOI 2002 Korea (representing Indonesia),
ICPC Manila 2003-2005, Kaohsiung 2006, and World Finals Tokyo 2007 (representing
Bina Nusantara University). He was also one of Google India Code Jam 2005 and
2006 finalists. As a problem setter, Felix set problems for ICPC Jakarta 2010,
2012, 2013, ICPC Kuala Lumpur 2014, and several Indonesian national contests.

Felix is happily married to Siska Gozali. The picture on the right is one of
their Europe honeymoon travel photos (in Switzerland) after ICPC World Finals at
Porto 2019. For more information about Felix, visit his website at
https://felix-halim.net.

Close

DR SUHENDRY EFFENDY, SUHENDRY.EFFENDY DOT GMAIL DOT COM

Suhendry Effendy is a research fellow in the School of Computing of the National
University of Singapore (SoC, NUS). He obtained his bachelor degree in Computer
Science from Bina Nusantara University (BINUS), Jakarta, Indonesia, and his PhD
degree in Computer Science from National University of Singapore, Singapore.
Before completing his PhD, he was a lecturer in BINUS specializing in algorithm
analysis and served as the coach for BINUS competitive programming team
(nicknamed as "Jollybee").

Suhendry is a recurring problem setter for the ICPC Asia Jakarta since the very
first in 2008. From 2010 to 2016, he served as the chief judge for the ICPC Asia
Jakarta collaborating with many other problem setters. He also set problems in
many other contests, such as the ICPC Asia Kuala Lumpur, the ICPC Asia
Singapore, and Olimpiade Sains Nasional bidang Komputer (Indonesia National
Science Olympiad in Informatics) to name but a few.

Close

--------------------------------------------------------------------------------

BUY NOW!

 * CP4 - Book 1 (A5 Paperback)
 * CP4 - Book 2 (A5 Paperback)
 * CP3 (eBook - will be phased out)

--------------------------------------------------------------------------------

PARTNER LINKS

 * VisuAlgo
 * uHunt
 * Kattis
 * UVa
 * 



© 2000-2024 Steven Halim

Share this page in Facebook