bricked_'s blog

By bricked_, history, 22 months ago, In English

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

Trying to build a good foundation. Thanks!

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

| Write comment?
»
22 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

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

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

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

    Thank you!

  • »
    »
    22 months ago, hide # ^ |
     
    Vote: I like it +3 Vote: I do not like it

    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

    • »
      »
      »
      22 months ago, hide # ^ |
       
      Vote: I like it +5 Vote: I do not like it

      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.

»
22 months ago, hide # |
 
Vote: I like it +5 Vote: I do not like it
»
22 months ago, hide # |
Rev. 2  
Vote: I like it +6 Vote: I do not like it

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

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

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

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

learn binary search

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

suggest me some mst problems

»
22 months ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

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

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

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

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

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

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