### vovuh's blog

By vovuh, history, 3 years ago, translation, ,  Tutorial of Codeforces Round #377 (Div. 2) Comments (24)
 » Auto comment: topic has been translated by dans (original revision, translated revision, compare)
 » I think I used a simpler method for C, this is the observation: Let M be the maximum of {b, d, s}; then the other 2 would be in the best case M — 1. So if b is the maximum, then (d >= b — 1 and s >= b — 1) always holds true. This is the code: http://codeforces.com/contest/732/submission/21550209
•  » » "So if b is the maximum, then (d >= b — 1 and s >= b — 1) always holds true." In case {b = 6, d = 3, s = 3} your statement is wrong. In that case b is maximum, but d < b - 1 and s < b - 1. Or did I miss something?
•  » » » No, I'm talking about the ideal situation. Lets say b = 6, d = 3 and s = 3. Then Vasiliy has 6 breakfasts, and the minimum number of dinners and lunches he would have had is either 5 or 6. In no situation can it be lesser. We want to find the minimum, so our answer would be (5 — 3) + (5 — 3). (Where 5 is the minimum d we could have, and 3 is the d given to us in the problem statement)
•  » » Yeah, I used the same trick and it is quite easy than the one given in tutorial
 » 3 years ago, # | ← Rev. 3 →   managed to do a-e but, i need to read tutorials on problem F , im still a bit confused, can someone explain , what is : component connected component largest component thanks for your help :)
•  » » just google it
 » can someone explain last line for f. with example? why orient (v,to) to (to,v)?
•  » » Just think about it, if you are pointing from v→to, you are leaving the largest cycle pointing outwards.
•  » » » ok understood it. That really made the whole question. Thanks bro.
 » Hi, I'm not understanding why my submission is getting TLE for Div2 F. can anyone please check it? Here's my submission, 21830666 I have implemented it exactly as given in the tutorial.
 » 3 years ago, # | ← Rev. 2 →   In Problem B, test-10: Input 5 2 0 0 0 1 0 Output 4 0 2 1 1 1 Answer 3 0 2 0 2 0 Checker Log wrong answer Jury answer is better. Obviously my answer is better?
•  » » 3 years ago, # ^ | ← Rev. 2 →   " Write a program that will find the minumum number of additional walks "I am pretty sure it is not obvious that 4 < 3.
•  » » » Oh no, I am very sorry. I mixed up Answer and Output.
 » 3 years ago, # | ← Rev. 2 →   Div2D ExamsConsider the following test case 10 3 0 3 0 1 0 0 0 0 2 0 1 1 4 The following AC submission gives the answer as 9. I would like to know how is the answer 9 correct. Since subject 3 requires 4 days of preparation, which clearly isn't possible, shouldn't the answer be -1 ? #include using namespace std; int main() { int n,m; cin>>n>>m; int arr[n+1]; for(int i=1;i<=n;i++)cin>>arr[i]; int sum=m,x; for(int i=0;i>x; sum+=x;} for(int i=sum;i<=n;i++)if(arr[i]){cout<
•  » » It was mentioned that the test cases are flawed and some wrong solutions managed to get an AC.
 » Why is complexity for Problem D O(mlogn)? For each guess, we want to take the subject at the latest possible day right? So we will need to perform a linear scan on the exam days so that we can find the latest day for each subject. So that should be O(nlogn) right? Is anyone able to confirm this?
•  » » Did you find an answer for this?
 » can someone provide an explanation on why is the mentioned strategy of orienting edges in problem F optimal? i.e. why does it allow us to traverse from any vertex to any other vertex in an 'edge' connected component?
 » Test cases for D are very trivial. All of them pass through wrong solution also.
 » 2 years ago, # | ← Rev. 3 →   Can anyone provide proof of correctness for problem F ? I am not sure whether the solution in tutorial is correct
 » Can someone please explain the editorial of Problem F? I can't get why the answer is the largest component!
•  » » For example take the following graph: 1----2---5 | | 8------9 12----| | | | | | | 3----4---6---------7------10--------11----13We have two bridges (6,7),(10,11). Now first without considering bridges we will direct other edges,and they will be obviously completely connected as there will be a cycle(because all the bridges already have been removed) Now come to bridges, if we direct 10--->11 then ri for (i=11,12,13) will be equal to 3 else if we direct 10<---11 then ri for (i=11,12,13) will be equal to 7 So we direct edge from smaller to larger ,to get 7 over 3 Similarly we will do this with 6<---7 else (7--->6) ri for (i=7,8,9,10) will be 4 (focusing on minimum ri)So largest component can reach only to the vertices which come in its component after removing all bridges.If we take direct edge from higher component to lower component (higher and lower is with respect to number of vertices in component) ,then minimum can't be maximize,therefore answer will be largest component.Happy Coding :)
 » In problem B, why the count of the new walk is 2 and not 1?