2013年5月19日

BUCT-OJ 2060 数字三角形4

摘要: 【题目来源】: TYVJ 1084【题目链接】:点击打开链接【解题思路】:此题我的思路和数字三角形3的思路一样,只不过(n/2,n/2)换成了待输入的点(x,y),必然经过一点,那我就从这点为分界,先从顶递推至此点所在行,再从底递推至此点所在行,两次的结果累加在此点上,即为所得结果【A C代码】:#include #include #include #include using namespace std; #define maxn 30 int arr[maxn][maxn]; int main() { int n, i, j, x, y; while(~s... 阅读全文

posted @ 2013-05-19 14:17 Gddxz 阅读(146) 评论(0) 推荐(0) 编辑

BUCT-OJ 2055 数字三角形3

摘要: 【题目来源】: TYVJ 1079【题目链接】:点击打开链接【解题思路】:我的是既然必然经过一点,那我就从这点为分界,先从顶递推至此点所在行,再从底递推至此点所在行,两次的结果累加在此点上,即为所得结果【A C代码】:#include #include #include #include using namespace std; #define maxn 30 int arr[maxn][maxn]; int main() { int n, i, j, x, y; while(~scanf("%d", &n)) { memset(ar... 阅读全文

posted @ 2013-05-19 14:07 Gddxz 阅读(172) 评论(0) 推荐(0) 编辑

BUCT-OJ 2052 数字三角形2

摘要: 【题目来源】:TYVJ 1076【题目链接】:点击打开链接【解题思路】:刚开始没想到思路,想到暴力穷举会超时,就乖乖的使用动态规划,但怎么使用想的一团,晕了,真正独立做起题目来感觉动态规划还没入门的样子,就又重新从最基础的一点点向上想,首先动态规划最起码得有状态吧,那对应与每一个权值的状态是什么?感觉有很多种情况,没办法了,我穷举所有状态还不行吗,突然发现是mod100的,那一个权值最多就是100种情况了, 最多25行(1+2+...+25)*100=32500种情况,完全可以穷举。所以开一个三位数组arr[26][26][101],问题得解。【A C代码】:#include #includ. 阅读全文

posted @ 2013-05-19 13:54 Gddxz 阅读(411) 评论(0) 推荐(0) 编辑

BUCT-OJ 2046 数字三角形

摘要: 【题目来源】: TYVJ 1044【题目链接】:点击打开链接【解题思路】:最基础的动态规划,采用自底向上递,每个结点对应一个状态,取从最底下到达当前层该结点的路径最小路径之和为该结点状态,则可递推出状态转移方程:dp[i][j] = arr[i+1][j] + max(dp[i+1][j], dp[i+1][j+1]);【A C代码】:#include #include #include using namespace std; #define maxn 30 int arr[maxn][maxn]; int max(int a, int b) { return a ... 阅读全文

posted @ 2013-05-19 09:54 Gddxz 阅读(248) 评论(0) 推荐(0) 编辑

导航