Блог пользователя Red0

Автор Red0, история, 4 месяца назад, По-английски

....that involve LCA, MST, Treap, Sparse Table, Binary Manipulations and other advanced techniques.

Trying to build a good foundation. Thanks!

  • Проголосовать: нравится
  • +18
  • Проголосовать: не нравится

»
4 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I recently tried this interesting problem. Would surely recommend it.

https://mirror.codeforces.com/problemset/problem/1615/D

  • »
    »
    4 месяца назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Thank you!

  • »
    »
    4 месяца назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    if u have an explination to the solution can you please provide it ? i wrote a blog once that the tutorial wasnt clear and also kept trying with it from time to time and never got it

    • »
      »
      »
      4 месяца назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      The important observation here is that we are only concerned with the parity of no. of bits on any path, as mentioned in the editorial. Thus, we need to only look at the no. of set bits in a number, and not which bits are set.

      Then we can impose some restrictions on the parity of bits on each path in the input. Any edge with non negative value can also be viewed as a path of size 1. Hence, we can try to impose all these restrictions and see if these give us a valid combination. Then, we will work with the negative weighted edges and obtain their values in the same way.

      To store the parity of bits in any path, we are using DSU (but it is probably not required if we root our tree beforehand). To obtain the parity between any two nodes, we can xor the parity of each path from the root of the tree. Since, if any edge occurs in both the paths, it will not be on the simple path between the two nodes and hence get cancelled. If at any point, the conditions are not satisfied or are contradictory, we know that the required tree is not possible. Finally to obtain the weights of the negative edges, we can check for the required parity between the two nodes, and set our answer as 0 or 1. Here is my solution, feel free to ask any queries.

      https://mirror.codeforces.com/contest/1615/submission/269522430

      The solution can also be viewed as a variant of bipartite matching. Each node is colored either 0 or 1, depending on the parity of path between the node and root.

»
4 месяца назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
»
4 месяца назад, # |
Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

i tried this interesting problem, although it might be a bit simple for the techniques you are talking about: 1305G - Kuroni and Antihype

UPDATE: CodingPokemon said that these problems are wayyyyyy to easy for your level

»
4 месяца назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Here is another problem, taht uses treap: 4A - Watermelon

»
4 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

learn binary search

»
4 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

suggest me some mst problems

  • »
    »
    4 месяца назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится

    This one is nice: uses lca and mst -- [NOIP2013] — 货物运输

»
4 месяца назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Why are you asking for more problems when you haven't finished the ones given to you by smax and RobeZH?

»
4 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I've been solving problems from this list, it's a very good list!

https://mirror.codeforces.com/blog/entry/91600

»
4 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

It would be great if you could recommend the problems recommended to you during your training camp :)