三道题目都是动态规划,个人感觉还是挺难的,并且三道题目都要用long,不然会有用例过不了题目一:对于字符串S,求每个前缀,其非所有空子串中,为非包裹子串(“包裹字符串”是首尾字符相同的字符串)的数量。思路:动态规划,对于字符串前缀 Si,它的非空子串集合为前缀 Si - 1 的所有非空子串,加上以索引 i 结尾的所有字符串。所以,问题变成了求以索引 i 结尾的所有字符串中,非包裹子串的数量。包裹子串数量为前缀中,索引 i对应字符的字符数量。题目二:给定n,a,b,c,对于 1- n 的每个值,求有多少种任意数量的abc的排列,其和等于这个值。注意,排列里面不能包含“ac”二维动态规划,存储3个值,分别是以a、b、c结尾的排列数量。类似零钱组合问题,只是加了一个限制条件。题目三:其实本质上就是【337. 打家劫舍 III】