摘要: 进制题http://acm.pku.edu.cn/JudgeOnline/problem?id=3191其实这题是看别人的分析做的;那人很强悍,把此题看作 -2 进制来做;核心代码:while(num != 1){ if(abs(num)%2) { b[i++]='1'; num=(num-1)/-2; } else { b[i++]='0'; num/=-2; }} 阅读全文
posted @ 2010-05-17 23:37 SubmarineX 阅读(182) 评论(0) 推荐(0) 编辑
摘要: http://acm.pku.edu.cn/JudgeOnline/problem?id=3186有一些食物,放在一个两端开口的仓库里,每天只能从两端选择一端取出一件食物,并且食物的价值是随着天数逐天递增,第i天的价值 本来价值*i,求n天取出食物,使之取得最大价值;状态转移方程:dp[i][j]=max(dp[i+1][j]+t[i]*(n-j+i), dp[i][j-1]+t[j]*(n-j+i));i~j 看作 食物存放次序第 i 到 j 的一段区间i从n开始dp; 阅读全文
posted @ 2010-05-17 23:30 SubmarineX 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 用strlen()时的粗心http://acm.pku.edu.cn/JudgeOnline/problem?id=3193strlen()放在for()里面,反复进行多余的调用,导致超时正确代码:while(m--){ gets(str); len=strlen(str); for(i=0; i<n; i++) { if(leng[i] < len) continue; ok=1; for(k=0; k<len; k++) { if(str[k] != txt[i][k])错误代码:while(m--) { gets(str); for(i=0; i<n; i++) 阅读全文
posted @ 2010-05-17 23:23 SubmarineX 阅读(265) 评论(0) 推荐(0) 编辑