Daily Diary (Competitive Coding in Summers)
Разница между en7 и en8, 3,083 символ(ов) изменены
I realised that there is only one way improve one's skill, and that is through practice. So I decided to practice more topics and more problems on codeforces and different judges. This is simply a daily record for what I did through my vacation. ↵

I also want to tell you about **stopstalk.com** . It is a good site to make and keep you daily coding record.↵

##**16 MAY 2017**↵

##### **Problems Solved** -↵
###### 1. http://mirror.codeforces.com/problemset/problem/535/D↵
        This was a simple problem and it used Z function for prefix length calculation↵
###### **solution link** — http://mirror.codeforces.com/contest/535/submission/27152004↵

###### 2. http://mirror.codeforces.com/problemset/problem/551/B↵
        Although the problem was simple, I had some trouble in understanding the language of the problem. It took time more than required. ↵
###### **solution link** — http://mirror.codeforces.com/contest/551/submission/27160921↵
<br>↵

##### **Participated Contest** - ↵
I participated in a virtual contest ( **Round 308 DIV 2** ). I was able to solve all the problems, but then last problem was accepted just 2 min before the contest ended. ↵

###### A. http://mirror.codeforces.com/problemset/problem/552/A↵
    The problem was fairly simple, but then rather than simply adding the area, I made a 2-D hash map. Guess I have to practice a little more for problem A.↵
###### **solution link** &mdash; http://mirror.codeforces.com/contest/552/submission/27165795↵

###### B. http://mirror.codeforces.com/problemset/problem/552/B↵
    The problem was mathematical. I solved it by forming a series. Got one WA for not using long long.↵
###### **solution link** &mdash; http://mirror.codeforces.com/contest/552/submission/27165912↵

###### C. http://mirror.codeforces.com/problemset/problem/552/C↵
    I solved the problem using meet in middle. But the editorial talked about an another wonderful way to solve that. Do watch the editorial solution. It is an excellent concept in itself.↵
###### **solution link** &mdash; http://mirror.codeforces.com/contest/552/submission/27166275↵
    ↵
###### D. http://mirror.codeforces.com/problemset/problem/552/D↵
    This was another interesting problem to solve. I used concept of slopes to generate triangle. Got 4 WA. Was not taking care of slope sign and was not handling 0 slope and inf slope cases.↵
###### **solution link** &mdash; http://mirror.codeforces.com/contest/552/submission/27166893↵

###### E. http://mirror.codeforces.com/problemset/problem/552/E↵
    Pretty interesting problem to solve both by greedy and by DP. I used the later N*N approach. Initially thought of using multiplication as boundaries, but then didn't wanted to take risk. Got 4 WA because of simple mistakes in the loops. Got accepted just before 2 min from end. ↵
###### **solution link** &mdash; http://mirror.codeforces.com/contest/552/submission/27167519 ↵


## 17 MAY 2017↵

Solved very few problems. Found a lot of problems hard to solve.↵

##### Problems Solved - ↵

###### 1. http://mirror.codeforces.com/problemset/problem/551/C↵
    It was a good problem of binary search. Although I found it a little hard for problem C Div 2. Guess I have practice still more. It used an standard NlogN solution using binary search where we have to binary search over the completion time of the task and then check the users required. Good problem for practice.↵
###### solution link &mdash; http://mirror.codeforces.com/contest/551/submission/27175198↵

###### 2. http://mirror.codeforces.com/problemset/problem/549/A↵
    Fairly easy problem. Requires direct implementation↵
###### solution link &mdash; http://mirror.codeforces.com/contest/549/submission/27181042↵

###### 3. http://mirror.codeforces.com/problemset/problem/534/E↵
    very good problem for practice. I was missing a lot of corner cases while solving. Had to search for a method to find mismatch in logN time in the array. I think this problem was worth solving. ↵
###### solution link &mdash; http://mirror.codeforces.com/contest/534/submission/27184116↵

##### Problems Unsolved - ↵

###### 1. http://mirror.codeforces.com/problemset/problem/534/F↵
###### 2. http://mirror.codeforces.com/contest/549/problem/H↵

###### It would be a great help if someone could help me with the unsolved problems.↵

## 18 MAY 2017↵

##### Problems Solved - ↵

I solved some simple problems on hackerearth and URI. One problem that I liked was from URI &mdash; ↵

###### 1. https://www.urionlinejudge.com.br/judge/en/problems/view/1469↵
    This was a good problem where we had to swap nodes. I used map for mapping and index function and an inverse index function for getting position of a node and getting value at any position. for swapping, I swapped those two.↵
###### solution link &mdash; https://code.hackerearth.com/a4c9b2Y ↵

Then some problems on codeforces <br>↵

###### 1. http://mirror.codeforces.com/problemset/problem/549/H↵
    Finally solved the matrix problem. Used binary search for reducing the size of squares.↵
###### solution link &mdash; http://mirror.codeforces.com/contest/549/submission/27189164↵

###### 2. http://mirror.codeforces.com/problemset/problem/519/A↵
    Direct implementation↵
###### solution link &mdash; http://mirror.codeforces.com/contest/519/submission/27193319↵

###### 3. http://mirror.codeforces.com/problemset/problem/519/B↵
    Direct implementation↵
###### solution link &mdash; http://mirror.codeforces.com/contest/519/submission/27201264↵

###### 4. http://mirror.codeforces.com/problemset/problem/519/C↵
    Turned out to be easy for problem C. Just travel over one possible value, then find the value of other and then maximise the sum.↵
###### solution link &mdash; http://mirror.codeforces.com/contest/519/submission/27201384↵

###### 5. http://mirror.codeforces.com/problemset/problem/519/D↵
    Had fun while solving this. Used map to store pairs of character and prefix sum values. Then used a linear algorithm to add values for all location while deleting previously occurred nodes. Did in NlogN.↵
###### solution link &mdash; http://mirror.codeforces.com/contest/519/submission/27202224↵

##### Problems unsolved - ↵

###### 1. http://mirror.codeforces.com/problemset/problem/519/E↵

## 19 MAY 2017↵

I only participated in a virtual contest on URI. Few of the good problems were &mdash; ↵

###### 1. https://www.urionlinejudge.com.br/judge/en/problems/view/2049↵

<spoiler summary="Hint">↵
The problem was fairly easy but the statement was bit confusing.↵
###### solution link &mdash; https://code.hackerearth.com/1144e5D↵
</spoiler>↵

###### 2. https://www.urionlinejudge.com.br/judge/en/problems/view/1923↵

<spoiler summary="Hint">↵
Again the main problem was decoding the statement. The only place that mentioned that the graph was undirected was when the statement said the relation is mutual. But while reading the problem you will feel like the graph is directed.↵
###### solution link &mdash; https://code.hackerearth.com/c2f17dC ↵
</spoiler>↵

###### 3. https://www.urionlinejudge.com.br/judge/en/problems/view/1580↵

<spoiler summary="Hint">↵
It was a basic mathematics problem that used mod inverse and factorial. ↵
###### solution link &mdash; https://code.hackerearth.com/eddc17Y↵
</spoiler>↵

## 20 MAY 2017↵

Today I solved problems on snackdown qualifiers and hackerearth circuits. In night, I participated in round 415 DIV 2. The results were not very good. Was only able to solve 3 problems. I feel like I have difficulty with interactive problems. Will have to practice more.↵

Apart from the contests, I solved an extra problem on hackerrank.↵

1. https://www.hackerrank.com/challenges/kth-ancestor↵

<spoiler summary="Hint">↵
The problem required to find the kth ancestor with dynamic insertion and deletion. I used an array to keep track of active elements. Then, for insertion and deletion, I used dp on that particular node. It only required logN steps. Finding the solution was then easy. For insertion in beginning, I used level order traversal to insure that the parent are inserted before the child. Good problem to practice.↵
###### solution link &mdash; https://code.hackerearth.com/3332f9b↵
</spoiler>↵

## 21 MAY 2017↵

Today I practise some problems on codeforces and spoj.↵

###### 1. http://www.spoj.com/problems/LCA/↵

<spoiler summary="Hint">↵
It was a simple problem of finding the LCA of a given pair of nodes. I used dp to solve the problem. Another possible way is to do an euler tour of the tree and then use RMQ to find the LCA. sparse tree can answer RMQ in constant time, so that will be faster.↵
###### solution link &mdash; http://paste.ubuntu.com/24622053/↵
</spoiler>↵

 ↵

###### 2. http://mirror.codeforces.com/problemset/problem/192/E↵

<spoiler summary="Hint">↵
First increase the count of the nodes that are given to you. The decrease the count of their LCA by 2. The thing is, we are going up level by level. At any given level at a time. We see how many fools can go up a level. That is equal to fool that came to that level minus the fool that stay at that level node. The number of fool staying was done by subtracting at LCA as they want to meet at a path of minimum distance.↵
###### solution link &mdash; http://mirror.codeforces.com/contest/192/submission/27263078↵
</spoiler>↵

###### 3. http://mirror.codeforces.com/problemset/problem/556/A↵

<spoiler summary="Hint">↵
It requires simple counting of one and zero. Giving it some time will directly lead to this conclusion↵
###### solution link &mdash; http://mirror.codeforces.com/contest/556/submission/27264409↵
</spoiler>↵

###### 4. http://mirror.codeforces.com/problemset/problem/556/B↵

<spoiler summary="Hint">↵
The problem was really simple. It only required implementation. One can easily come up with an N*N solution. As soon as one come up with an N*N solution, One can easily reduce it to an O(N) solution. link for both solution &mdash; ↵
###### link1 &mdash; http://mirror.codeforces.com/contest/556/submission/27266299↵
###### link2 &mdash; http://mirror.codeforces.com/contest/556/submission/27266356↵
</spoiler>↵

###### 5. http://mirror.codeforces.com/problemset/problem/556/C↵

<spoiler summary="Hint">↵
It was among the most confusing problem statement that I can across in my life. Even after reading it 4 &mdash; 5 time, I was unable to understand what actually was going on. So here is a simple problem statement. One can remove one doll at a time and that too only the uppermost. It means that the only chain that we don't have to break is the chain 1, 2, 3, 4 ... k. and then break every other doll and the n assemble over the k length chain.↵
###### solution link &mdash; http://mirror.codeforces.com/contest/556/submission/27266874↵
</spoiler>↵

###### 6. http://mirror.codeforces.com/problemset/problem/556/D↵

<spoiler summary="Hint">↵
It was an amazingly good problem of greedy using binary search as a sub routine. It took some time to come up with the solution. I made an array that had distance (max distance b/w boundaries, min distance b/w boundaries). Then sorted them according to the max distance. Then while traversing, I gave the shortest possible length of bridge to the required gap. If it was not possible, then answer was no.↵
###### solution link &mdash; http://mirror.codeforces.com/contest/556/submission/27270654↵
</spoiler>↵

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en23 Английский satylogin 2017-06-12 12:02:00 969
en22 Английский satylogin 2017-06-09 10:18:55 1307 Tiny change: 'n###### 1.http://cod' -> 'n###### 1. http://cod'
en21 Английский satylogin 2017-06-06 08:48:57 709
en20 Английский satylogin 2017-06-03 21:23:27 1185
en19 Английский satylogin 2017-06-02 21:04:12 949
en18 Английский satylogin 2017-05-31 19:36:34 1125
en17 Английский satylogin 2017-05-30 20:26:54 2883
en16 Английский satylogin 2017-05-29 16:59:46 1192
en15 Английский satylogin 2017-05-28 14:55:26 1801
en14 Английский satylogin 2017-05-27 08:30:54 7 Tiny change: 'r>\n\n## 25 MAY 2017\' -> 'r>\n\n## 26 MAY 2017\'
en13 Английский satylogin 2017-05-27 08:30:17 925
en12 Английский satylogin 2017-05-26 05:14:51 2081
en11 Английский satylogin 2017-05-25 07:31:25 131
en10 Английский satylogin 2017-05-24 08:48:14 2279 Tiny change: '>\n\n##### 5. h' -> '>\n\n###### 5. h'
en9 Английский satylogin 2017-05-23 07:48:10 298
en8 Английский satylogin 2017-05-22 08:26:38 3083
en7 Английский satylogin 2017-05-21 08:57:38 937
en6 Английский satylogin 2017-05-20 10:22:41 1031 Tiny change: 'eddc17Y\n<spoiler>' -> 'eddc17Y\n</spoiler>'
en5 Английский satylogin 2017-05-19 07:56:54 1865 Tiny change: 'ved - \n\n1. http://' -> 'ved - \n\n###### 1. http://'
en4 Английский satylogin 2017-05-18 04:50:02 1357
en3 Английский satylogin 2017-05-17 11:28:10 5 Tiny change: 'you about stopstalk.com. It is a ' -> 'you about **stopstalk.com** . It is a '
en2 Английский satylogin 2017-05-17 10:51:46 0 (published)
en1 Английский satylogin 2017-05-17 10:51:06 2862 Initial revision (saved to drafts)