dev_il's blog

By dev_il, history, 9 years ago, In English

There is a lot of information about programming in C++ for competitions as well as almost all algorithm implementations are written in C++ language (e.g. e-maxx site, Topcoder tutorials etc.). So from there we can take some best practices of what to use or not to use when writing problem solutions.

For Java there is no such resources as I know. If not I would be really thankful to obtain links to them.

It's good to read codes in Java of target coders like Petr or Egor but it would be better to have it in one place (like e-maxx site).

Additionally I want to ask some questions interesting for me.

  1. How do you know that some problem need to be written in C++ instead of Java? For example 524F - And Yet Another Bracket Sequence that Petr wrote in C++ not Java. I don't see any specific data structure like std::bitset that Java don't have.

  2. Which tricks are not recommended to use in Java (like you need to pay attention to autoboxing, that may do your solution more slow unexpectedly) ?

  3. I like very much C++'s std::pair<T1, T2> and it seems that it's much more efficient that self-written Java analog (e.g. https://github.com/EgorKulikov/yaal/blob/master/lib/main/net/egork/collections/Pair.java). Is it true or not? I think so because of creation of Object for each element of Pair (that need to be done because generics in Java cannot be declared as Pair<int, int> but must be Pair<Integer, Integer>). So would be the implementation of Pair for each case int first, second, int first; long second; etc more efficient than such of Egor?

Full text and comments »

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

By dev_il, 9 years ago, In English

Problem: 433B - Kuriyama Mirai's Stones

This is my solution: 11326002

I use partial sums for initial array and then for sorted. Don't understand where can be a bottleneck.

Full text and comments »

  • Vote: I like it
  • 0
  • Vote: I do not like it