Mtaylor's blog

By Mtaylor, history, 6 months ago, In English

Hello Codeforces!

I wanted to share a tool I’ve been building for competitive programming:

https://cptoolapp.web.app/

CP Tool is a free web app that runs directly in the browser. There is no login, no setup, and no backend server needed for the actual tools. Just open the site and use it.

What it currently includes:

  • Interactive graph editor
  • Graph parsing from common input formats
  • Algorithm visualization/playback for things like BFS, Dijkstra, MST, SCC, topological sort, bridges/articulation points, tree diameter, LCA, subtree size, etc.
  • CP calculators for number theory, combinatorics, bit operations, matrices, and strings String algorithm helpers like KMP, Z-function, rolling hash, Manacher, trie, Aho-Corasick, suffix array, and suffix automaton
  • Grid/coordinate helper for geometry-style and compressed-grid problems
  • Curated CP resources: platforms, practice ladders, references, tools, and communities
  • Documentation inside the app

The idea is not to replace your editor or online judge. It is more of a small workbench for understanding, debugging, and visualizing ideas while practicing or upsolving.

Some use cases:

  • Paste a graph and quickly check how an algorithm behaves
  • Visualize graph traversal or shortest paths
  • Test small number theory / combinatorics values
  • Inspect string algorithm outputs without writing a quick script every time
  • Draw or reason about grid/coordinate inputs
  • Keep useful CP links in one place

I would really appreciate feedback from the community, especially on:

  • Which algorithms would be most useful to add next?
  • Which graph input formats should be supported?
  • What calculators or visualizers do you usually wish existed during practice?
  • Any UI/UX issues you notice while using it? Link again:

https://cptoolapp.web.app/

Thanks, and I hope it helps someone during practice or upsolving.

  • Vote: I like it
  • +97
  • Vote: I do not like it

»
6 months ago, hide # |
 
Vote: I like it +9 Vote: I do not like it

The tunisian pride!

»
6 months ago, hide # |
 
Vote: I like it +8 Vote: I do not like it

Looks pretty cool. Great idea and great job.

»
6 months ago, hide # |
 
Vote: I like it +8 Vote: I do not like it

Very useful tool! Thanks for this great contribution!

»
6 months ago, hide # |
 
Vote: I like it +8 Vote: I do not like it

Actually this is pretty cool! Just maybe the grid part is inverted upside down and not all points all visible if coordinate magnitude increases. Rest all is awesome! Thanks :)

  • »
    »
    6 months ago, hide # ^ |
     
    Vote: I like it 0 Vote: I do not like it

    I added coordinate compression for the points that it can help a bit , but I don't see how I can do it to display all of them in a clear way

»
6 months ago, hide # |
 
Vote: I like it +8 Vote: I do not like it

Nice tool! Thanks

»
6 months ago, hide # |
 
Vote: I like it +11 Vote: I do not like it

I've been using cp-tool for almost 2 years now, it helped me a lot. Nice to see how much it improved. Good contribution Mtaylor!

»
6 months ago, hide # |
 
Vote: I like it +11 Vote: I do not like it

Number of divisors of 1000000000000000000 : 361

it took more than 5 seconds to calculate... wtf

»
6 months ago, hide # |
 
Vote: I like it +8 Vote: I do not like it

Maybe you can take some inspiration from my tool for number theory calculations: https://wery0.github.io/Daily-CP-tools/

»
6 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

great tool, though i have found a slight problem. In the tools calculator part you cannot reach eular phi directly you have to gradually go down and after a point you will eventually reach SQRT and then you can select euler phi but have to do so in a split second.

Proof (expires in 2 days)

»
6 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

I really really liked it.

»
6 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

good job bro

»
6 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Regarding the graph editor, the app only allows me to move some nodes of the graph (these light up in blue when I hover the mouse over them). The others don't light up and therefore cannot be moved freely, while the rest of the graph remains fixed. This problem persists even after changing the display type. (I use brave browser. I don't know if that might be an issue)

Despite this, I think the app can be very useful. Congratulations!