摘要: 这是数塔最为简单的一体。主要思路便是从最后一行开始往前加,利用dp[i][j]=max(dp[i+1][j],dp[i+1][j+1]);最后得出dp[0][0];便可以得出最大的那一条路径;dp是个很重要的算法,自己要认真学啊!View Code 1 #include<stdio.h> 2 #include<string.h> 3 int max(int a,int b) 4 { 5 return a>b?a:b; 6 } 7 int main() 8 { 9 int num,line;10 int i,j;11 int dp[1000][1000];12 .. 阅读全文
posted @ 2012-04-18 22:53 SmallMushroom 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 这不是一道什么竞赛题目,就是刘汝佳老师在算法竞赛入门经典中给的关于二叉树的例子。自己写了一下,附到博客园上面来供自己回忆;第一种解法是设了一个ok判断球是往左还是往右,但是要开一个2^20的数组,用来记录每个位置的0/1开关情况。这个代码很简单,在书的100页有详细的讲解。View Code 1 #include<stdio.h> 2 #include<string.h> 3 #define max 20 4 int str[1<<max]; 5 int ok; 6 int main() 7 { 8 int a,b; 9 while(scanf(" 阅读全文
posted @ 2012-04-18 22:44 SmallMushroom 阅读(177) 评论(0) 推荐(0) 编辑