I'm extremely sorry for late publication.

Tutorial is loading...

**Complexity:** *O*(1).**Author of the idea:** Vladik.**Worked on the problem:** Vladik.

Tutorial is loading...

**Complexity:** *O*(*n*^{2}).**Author of the idea:** MikeMirzayanov.**Worked on the problem:** fcspartakm.

Tutorial is loading...

**Complexity:** *O*(*n*^{3} * *m*).**Author of the idea:** altruist.**Worked on the problem:** Vladik.

Tutorial is loading...

**Complexity:** *O*(*n*).**Author of the idea:** altruist.**Worked on the problem:** altruist.

Tutorial is loading...

**Complexity:** *O*(*n*).**Author of the idea:** MikeMirzayanov.**Worked on the problem:** altruist.

Tutorial is loading...

**Complexity:** *O*(*d* * (*N* * *M* + *K*)), where *d* — alphabet power.**Author of the idea:** Vladik.**Worked on the problem:** Vladik.

Can someone provide more explanation about solving Div-2 E?

i think this one clarify everything :)

Problem C can be done in O(N*M) using dynamic programming.

http://codeforces.com/contest/761/submission/24322743

Can anyone explain me DP approach of problem C ?

A simpler approach for problem C would be to store the least index for each type (special,alpha,numeric) in each string if exists. you will have a matrix A[n][3]. now you need to find three indexes i,j,k such that A[i][0] + A[j][1] + A[k][2] is minimum. now simply use three nested for loops one inside another and check for the minimum while ensuring i != j != k, which takes O(N*M + N^3) time. Further optimized solution would be to pick the first minimum, second minimum, third minimum from each column and use the three for loops as mentioned above which will reduce the run time to O(N*M + 3^3) = O(N*M).

Hope this helped you, Link to my code

Got it Thanks

Can someone explain to me why is [l - ai;r - ai] in problem D ?

It's interval for Ci, not for Bi, fixed now, thank you.