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 you please explain me your approach ? thanks in advance .

It's quite similar to this problem. At state i, you just want to know

1digit (or 1 lowercase or 1 special character) as well as2(1 digit & 1 lowercase, 1 digit & 1 special character, 1 lowercase & 1 special character) and finally,threecharacters.Because at the state i, you can't conclude anything, you have to store all of them to conduct the answer at final state.

Check my solution. It's same ideal with Arkin, i think.

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.

Im getting TLE for C. The authors solution is O(n^3 * m). I feel my solution is O(8 * n * m). What am i doing wrong. My dp code