摘要: 题目大概是,二进制数可以看作是由几段连续的0和连续的1组成,问:n位没有前导0的 且 共用k段连续0/1组成的 且 连续0/1个数不超过m的二进制数有多少个。 用dp[n][k][m]表示问题 dp[i][1][j]=1 (i<=j) 通过枚举第一段连续数字的个数first,使dp[n][k][m] 阅读全文
posted @ 2016-01-26 21:22 WABoss 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 常规做法是枚举每个字符串每个位置,时间复杂度O(n*len*len),(建字典树O(n*len))。 然而我看这题第一眼想的是时间复杂度O(n*len)的算法。。就是建正反两棵字典树,每个字符串跑分别跑正反一遍字典树,再看看正反跑的结果能不能拼成原串。 然而常数太大了点,并没什么卵用。。 1 #in 阅读全文
posted @ 2016-01-26 20:40 WABoss 阅读(202) 评论(0) 推荐(0) 编辑