mgajabi's blog

By mgajabi, 7 years ago, In English

I have not been able to solve this problem.Can any tell me how to solve it.The best i can think is of djikstra,but that will obviously give me time limit exceeded.Can anyone tell me the solution.

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

»
7 years ago, # |
  Vote: I like it +1 Vote: I do not like it

You can use binary search. Then for fixed answer X you may check it in O(N+M) — bfs over modified graph with states [vertice of original graph][number of edges with weight >X in path].

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I didn't get the modified graph part.Can you please ellaborate.

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it +3 Vote: I do not like it

      We are interested in weight of second heaviest edge on the path. If we'll use binary search — then question is modified to can we find a way from start to finish with second heaviest edge of weight no more than X, and this one is equal to can we find a way from start to finish wish <=1 edges of weight more than X in it.

      And now it is clear that you are interested only in your current vertex and number of used "heavy" edges (because you can't use "heavy" edge if you used 1 before — then you'll have 2 "heavy" edges in your path).

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

How to solve problem L :) http://codeforces.com/gym/100460/problem/L Thanks in advance :)

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

    Looks like we can find for each man the interval of possible relation (from any event we know that for any man realtion <=x) and then check for each event that exists man who took part in it and can have realtion equal to event's relation.

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

      thanks you :)

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

      why i can't solve it by find for each man the smallest event he took part in it and check that there is no event i know all his members values and the relation of that event not match any of its members for(int k = 0; k < event.size();k++) if(elementsmxs[event[k]] == event_value){ ff = true; break; }

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

This is my early solution https://ideone.com/c2WYjz. I use queue to calculate the events with only person and update the events that person take part in. But I get WA on test 23. When I remove queue, I get AC but I don’t know why. Can someone explain for me? Thanks. (Sorry for my bad English).

»
5 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

https://codeforces.com/gym/100460/problem/H

How can i solve this problem i tried a lot but i get wa4