I just got AC for this dynamic programming problem 401D - Roman and Numbers after many trials using recursion then loops..
I have faced some behaviour, which -in my opinion- is strange, and I can't figure out why it behaves like that :
- Declaring the dp array like this :
dp[100][1<<18]
gives a TLE. However,dp[1<<18][100]
doesn't. - using a
long long
for bitmask is slower thanint
! I know that 32bit integer would be sufficient for this problem, but I thought it would be safer to uselong long
.
I hope someone can explain it for me, thanks a lot :D