dp1[i][j] will hold 1/0 depending upon whether string str[i...j] is a
palindrome or not.
Now let dp2[i][j] be the minimum number of cuts required to split it into
palindromes.
if str[i...j] is a palindrome then '0' cuts are required.
To get the number of cuts required for str[i...j] we try all possible
positions between i & j and take minimum of all.

On Fri, May 6, 2011 at 8:23 PM, sourabh jakhar <sourabhjak...@gmail.com>wrote:

> can you explain the logic
>
>
> On Fri, May 6, 2011 at 8:02 PM, abhijith reddy 
> <abhijith200...@gmail.com>wrote:
>
>> O(N^3) DP
>>
>> -------------------------------------------------------------------------------------------------------------
>> char str[MAX];
>> int dp1[MAX][MAX],dp2[MAX][MAX];
>>
>> int isPalin(int low,int high)
>> {
>>     if(low>=high) return 1;
>>     if(dp1[low][high]!=-1) return dp1[low][high];
>>     return dp1[low][high]=(str[low]==str[high])?isPalin(low+1,high-1):0;
>> }
>>
>> int minCuts(int low,int high)
>> {
>>     if(isPalin(low,high)) return 0;
>>     if(dp2[low][high]!=-1) return dp2[low][high];
>>     int ans=1e9;
>>     for(int i=low;i<high;i++)
>>         ans=min(ans,1+minCuts(low,i)+minCuts(i+1,high));
>>     return dp2[low][high]=ans;
>> }
>>
>>
>> -------------------------------------------------------------------------------------------------------------
>>
>>
>> On Fri, May 6, 2011 at 4:23 PM, sourabh jakhar 
>> <sourabhjak...@gmail.com>wrote:
>>
>>> You are given a large string. You need to cut the string into chunks such
>>> that each substring that you get is a palindrome. Remember that each 1
>>> length string is always a palindrome. You need to find the minimum number of
>>> cuts that you need to make such that each substring is a palindrome.
>>> <http://www.careercup.com/question?id=8972527>
>>>
>>> --
>>> SOURABH JAKHAR,(CSE)(3 year)
>>> ROOM NO 167 ,
>>> TILAK,HOSTEL
>>> 'MNNIT ALLAHABAD
>>>
>>> The Law of Win says, "Let's not do it your way or my way; let's do it the
>>> best way."
>>>
>>>  --
>>> You received this message because you are subscribed to the Google Groups
>>> "Algorithm Geeks" group.
>>> To post to this group, send email to algogeeks@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
>
>
> --
> SOURABH JAKHAR,(CSE)(3 year)
> ROOM NO 167 ,
> TILAK,HOSTEL
> 'MNNIT ALLAHABAD
>
> The Law of Win says, "Let's not do it your way or my way; let's do it the
> best way."
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to