Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
说一下自己的一些想法我的同学做的算法是求出一个递推公式, 我的想法不大一样, n=1 a n=2 aa ab n=3 aaa aab aba abb abc 可以看到,如果当[N-1]的时候某个单位只有K的字符,那么在[N]的时候它就会演变成K+1种情况 n=2 aa-->n=3 aaa aab n=2 ab-->n=3 aba abb abc 所以 可以这样用一个结构来解决问题 int num[50] num[k-1]表示拥有K的字符的单位数目, 当运行到N时,循环从0到K-1; 假如num[i]==m; 则再用个循环将,0到K的数组中加入m; (注意需要使用一个备用数组) 这样当到达n后,将num[0..n-1]中的值相加就可以了. 不知道这样做可不可能超时?因为不优化的话O(N三次) Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator