HDU OJ
文章平均质量分 71
yangchen1991
coding,algorithm,math,programming ...and dreaming~
展开
-
1002 A + B Problem II
最基本的大数运算----加法, 算法思想很简单,系统的基本整数类型无法存放,这里使用C风格的字符数组进行两个整数的加法模拟。 #include #include char a[1001],b[1001]; void sum() { char c[1001],d[1001],C='0'; int i,j,a_len,b_len,max_len; a_len = strlen(a); b原创 2012-04-06 18:59:11 · 277 阅读 · 0 评论 -
1003 Max Sum
一道经典的DP问题------求最大子序列和 算法思想:首先归纳出递归表达式 f[i+1] = f[i]>0?(f[i]+a[i+1]):a[i+1]; 1、对这个式子解释一下,f[i]是以a[i]为子序列区间的右端点的最大子序列和,比如(6,-1,5,4,-7),那么f[4] = (6-1+5) + 4 = 14。原创 2012-04-07 11:07:33 · 363 阅读 · 0 评论 -
1001 Sum Problem
超级水题,不过WA了一次,当一个代数式中,既有乘法又有除法,应该先做除法,以防止数据在先乘的情况下太大导致溢出错误。 #include int main() { freopen("in","r",stdin); int n; while(scanf("%d",&n)!=EOF){ if(n%2==0) printf("%d\n\n",n/2*(n+1)); else p原创 2012-04-06 18:42:44 · 288 阅读 · 0 评论 -
1004 Let the Balloon Rise
字符串处理题,这里用C风格字符串。 解这种模拟题,最好单独用一个文本用来“读题”: 1、把字符串按行读入 2、对每个字符串映射一个计数变量count,初始化为0; 3、2维循环遍历,对每一种color值,在第二维遍历中,遇到同种color,count++; 4、结束计数之后,设置两个变量max_count和p,分别用于更新最大的count和对应的位置。具体操作是一次遍历每一个color对原创 2012-04-07 22:37:52 · 289 阅读 · 0 评论 -
1005 Number Sequence
这题我做了三个版本(囧死),一个栈溢出,一个TLE,最后一个AC.分别如下: 栈溢出: #include long f(long a,long b,long n) { if(n==1) return 1; else if(n==2) return 1; return (a*f(a,b,n-1)+b*f(a,b,n-2))%7; } int main() { freopen("i原创 2012-04-08 23:20:09 · 305 阅读 · 0 评论