2012年3月9日

csu 1242 碱基配对

摘要: 我的思路是先求出类似dp求LCS的数组c,然后计算c的对角线上元素和的最大值,由于和枚举的计算量相同,并且多了给c赋值的过程,耗时要多些,另外也多分配了c这样一个比较大的空间同样的代码分别用C和C++提交耗时分别为720ms、380ms,内存占用2700kb(C少一些,相差500kb),不解。。所有AC中最快的只有64ms,内存占用740kb。。对角线边界的判断还是需要点思考的。。/* csu 1242 */# include <stdio.h># include <string.h># define MAXN 1002char a[MAXN], b[MAXN];sho 阅读全文

posted @ 2012-03-09 13:36 getgoing 阅读(262) 评论(0) 推荐(0)

csu 1242 碱基配对——一个错误的解答

摘要: 早上刚看了如何用 dp 解决LCS,想到了这道题,无奈这道题和LCS不同,还要求对应位置匹配。还是遇到了一个小问题:序列是从1开始的,但是数组的下标是从0开始的,于是想到了gets(a+1)这样的方法,这时要对a[0]赋以非 0 初值/* csu 1242 错误:非LCS问题*/# include <stdio.h># include <string.h># define MAXN 1002char a[MAXN], b[MAXN];short c[MAXN][MAXN];short int solve(void){ short ans, m, n, i, j, tmp 阅读全文

posted @ 2012-03-09 12:54 getgoing 阅读(340) 评论(0) 推荐(0)

csu 1104 Fibonacci Numbers

摘要: 超过8位只输出高低四位,中间用...隔开:Fibonacci numbers get large pretty quickly, so whenever the answer has more than 8 digits, output only the first and last 4 digits of the answer, separating the two parts with an ellipsis (“...”). 高四位的输出:利用通项公式,先求出取对数的小数部分,然后取前四位即可。第四位:直接递推会严重超时!!所以只能用矩阵幂的方法(其实题目提示了用线性代数知识:Use y 阅读全文

posted @ 2012-03-09 00:31 getgoing 阅读(281) 评论(0) 推荐(0)

导航