please any one solved this problem explain the idea of it please.
thanks in advance.
thanks in advance.
# | User | Rating |
---|---|---|
1 | tourist | 3947 |
2 | jiangly | 3734 |
3 | Radewoosh | 3646 |
4 | jqdai0815 | 3620 |
4 | Benq | 3620 |
6 | orzdevinwang | 3612 |
7 | ecnerwala | 3581 |
8 | Geothermal | 3569 |
8 | cnnfls_csy | 3569 |
10 | ksun48 | 3479 |
# | User | Contrib. |
---|---|---|
1 | awoo | 162 |
2 | maomao90 | 160 |
3 | nor | 156 |
4 | cry | 155 |
4 | adamant | 155 |
4 | atcoder_official | 155 |
4 | -is-this-fft- | 155 |
8 | maroonrk | 153 |
9 | SecondThread | 147 |
10 | Petr | 146 |
Name |
---|
let us consider first that the card is also an envelope, now the problem is what is the maximum number of envlopes that can be stacked in each other and the inner envelope is the card
the recursive formula is like that
Sol[i] = Max ( sol[k] + 1 , Sol[i] )
where k is every envelope that envelope i can be stacked in
so it will be like that
for(int k = 0; k < N;k++)
{
if(Cards[i][0] < Cards[k][0] && Cards[i][1] < Cards[k][1] && DP[i] < Solve(k)+1)
{
DP[i] = Solve(k)+1;
}
}
i got memory limit exceeded cuz i precomputed this step first ....but in practice session i removed the precomputing step and I got AC